[Gnucash-changes] * src/engine/Account.c: - updated implementation
of
Derek Atkins
warlord at cvs.gnucash.org
Sun Jan 30 17:45:16 EST 2005
Log Message:
-----------
* src/engine/Account.c:
- updated implementation of qofAccountSetParent().
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash:
ChangeLog
gnucash/src/engine:
Account.c
Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.163
retrieving revision 1.1487.2.164
diff -LChangeLog -LChangeLog -u -r1.1487.2.163 -r1.1487.2.164
--- ChangeLog
+++ ChangeLog
@@ -18,6 +18,9 @@
- Use gnc_commodity_table_find_namespace() throughout
- fix a crash when adding a new namespace to the commodity table.
+ * src/engine/Account.c:
+ - updated implementation of qofAccountSetParent().
+
2005-01-26 Derek Atkins <derek at ihtfp.com>
Neil Williams' QSF Backend.
Index: Account.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Account.c,v
retrieving revision 1.222.4.9
retrieving revision 1.222.4.10
diff -Lsrc/engine/Account.c -Lsrc/engine/Account.c -u -r1.222.4.9 -r1.222.4.10
--- src/engine/Account.c
+++ src/engine/Account.c
@@ -1257,23 +1257,17 @@
void qofAccountSetParent (Account *acc, QofEntity *parent)
{
- AccountGroup *ag;
- if((!acc)||(!parent)) return;
- if(acc->parent) return;
+ Account *parent_acc;
+
+ if((!acc)||(!parent)) { return; }
+ parent_acc = (Account*)parent;
xaccAccountBeginEdit(acc);
- g_message("qofAccountSetParent start");
- ag = xaccAccountGetParent((Account*)parent);
- acc->parent = ag;
-/* FIXME: acc->parent is type AccountGroup but AccountGroup is not a true QOF object
-so can't set AccountGroup in the target book because the GUID of any new AccountGroups
-is not found. Workaround uses Account as the reference type.
- */
- if(!acc->parent) {
- g_message("qofAccountSetParent failed.");
- }
+ xaccAccountBeginEdit(parent_acc);
+ xaccAccountInsertSubAccount(parent_acc, acc);
+ mark_account (parent_acc);
mark_account (acc);
- acc->inst.dirty = TRUE;
xaccAccountCommitEdit(acc);
+ xaccAccountCommitEdit(parent_acc);
}
void
More information about the gnucash-changes
mailing list