Skip to content

Commit

Permalink
Ensure that the root account is saved to the SQL backend.
Browse files Browse the repository at this point in the history
The root account is created during DB load if it doesn't already exist.
The DB wasn't saving it because it wasn't marked dirty and because
the loading flag was set, so temprarily unset the loading flag when
creating the book.
  • Loading branch information
jralls committed Sep 27, 2014
1 parent 2a7ad68 commit c61366b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/backend/sql/gnc-book-sql.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,14 @@ load_all_books( GncSqlBackend* be )
{
GncSqlRow* row = gnc_sql_result_get_first_row( result );

// If there are no rows, try committing the book
/* If there are no rows, try committing the book; unset
* loading so that it will actually get saved.
*/
if ( row == NULL )
{
be->loading = FALSE;
(void)gnc_sql_save_book( be, QOF_INSTANCE(be->book) );
be->loading = TRUE;
}
else
{
Expand Down
1 change: 1 addition & 0 deletions src/engine/Account.c
Original file line number Diff line number Diff line change
Expand Up @@ -951,6 +951,7 @@ gnc_account_create_root (QofBook *book)
xaccAccountBeginEdit(root);
rpriv->type = ACCT_TYPE_ROOT;
CACHE_REPLACE(rpriv->accountName, "Root Account");
mark_account (root);
xaccAccountCommitEdit(root);
gnc_book_set_root_account(book, root);
return root;
Expand Down
1 change: 1 addition & 0 deletions src/engine/SX-book.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ sxtg_book_begin (QofBook *book)
xaccAccountBeginEdit(root);
xaccAccountSetType(root, ACCT_TYPE_ROOT);
xaccAccountSetName(root, "Template Root");
qof_instance_set_dirty (QOF_INSTANCE (root));
xaccAccountCommitEdit(root);
gnc_book_set_template_root (book, root);
}
Expand Down

0 comments on commit c61366b

Please sign in to comment.