r23733 - gnucash/trunk/src/backend/xml - Prevent gnc-commodity from marking the book dirty at file-load.
John Ralls
jralls at code.gnucash.org
Mon Jan 20 17:53:09 EST 2014
Author: jralls
Date: 2014-01-20 17:53:08 -0500 (Mon, 20 Jan 2014)
New Revision: 23733
Trac: http://svn.gnucash.org/trac/changeset/23733
Modified:
gnucash/trunk/src/backend/xml/gnc-backend-xml.c
gnucash/trunk/src/backend/xml/gnc-commodity-xml-v2.c
Log:
Prevent gnc-commodity from marking the book dirty at file-load.
Modified: gnucash/trunk/src/backend/xml/gnc-backend-xml.c
===================================================================
--- gnucash/trunk/src/backend/xml/gnc-backend-xml.c 2014-01-20 22:52:56 UTC (rev 23732)
+++ gnucash/trunk/src/backend/xml/gnc-backend-xml.c 2014-01-20 22:53:08 UTC (rev 23733)
@@ -1078,7 +1078,8 @@
xml_commit_edit (QofBackend *be, QofInstance *inst)
{
if (qof_instance_get_dirty(inst) && qof_get_alt_dirty_mode() &&
- !(qof_instance_get_infant(inst) && qof_instance_get_destroying(inst)))
+ !(qof_instance_get_infant(inst) ||
+ qof_instance_get_destroying(inst)))
{
qof_collection_mark_dirty(qof_instance_get_collection(inst));
qof_book_mark_session_dirty(qof_instance_get_book(inst));
Modified: gnucash/trunk/src/backend/xml/gnc-commodity-xml-v2.c
===================================================================
--- gnucash/trunk/src/backend/xml/gnc-commodity-xml-v2.c 2014-01-20 22:52:56 UTC (rev 23732)
+++ gnucash/trunk/src/backend/xml/gnc-commodity-xml-v2.c 2014-01-20 22:53:08 UTC (rev 23733)
@@ -273,6 +273,8 @@
g_return_val_if_fail(tree, FALSE);
com = gnc_commodity_new(book, NULL, NULL, NULL, NULL, 0);
+ gnc_commodity_begin_edit (com);
+
old_com = gnc_commodity_find_currency(book, tree);
if (old_com)
gnc_commodity_copy(com, old_com);
@@ -281,6 +283,11 @@
{
set_commodity_value(achild, com);
}
+ /* We're loading from the file. It can't be dirty, even though the
+ * commodity set functions have marked it so.
+ */
+ qof_instance_mark_clean (QOF_INSTANCE (com));
+ gnc_commodity_commit_edit (com);
if (!valid_commodity(com))
{
More information about the gnucash-changes
mailing list