diff --git a/src/engine/gnc-book.c b/src/engine/gnc-book.c index 776667f231..1f981fabbe 100644 --- a/src/engine/gnc-book.c +++ b/src/engine/gnc-book.c @@ -197,8 +197,9 @@ gnc_book_get_group (GNCBook *book) void gnc_book_set_group (GNCBook *book, AccountGroup *grp) { - if (!book) return; - book->topgroup = grp; + if(!book) return; + if(book->topgroup) xaccFreeAccountGroup(book->topgroup); + book->topgroup = grp; } /* ---------------------------------------------------------------------- */ diff --git a/src/engine/gnc-book.h b/src/engine/gnc-book.h index 423ae6d355..aa75182c1e 100644 --- a/src/engine/gnc-book.h +++ b/src/engine/gnc-book.h @@ -120,6 +120,7 @@ GNCBackendError gnc_book_pop_error (GNCBook *book); AccountGroup *gnc_book_get_group (GNCBook *book); +void gnc_book_set_group(GNCBook *book, AccountGroup *group); GNCPriceDB *gnc_book_get_pricedb (GNCBook *book); guint gnc_book_count_transactions(GNCBook *book);