[Gnucash-changes] r13737 - gnucash/trunk/src/engine - When destroying a commodity, remove it from the commodity table.

Chris Shoemaker chris at cvs.gnucash.org
Wed Apr 5 13:59:15 EDT 2006


Author: chris
Date: 2006-04-05 13:59:14 -0400 (Wed, 05 Apr 2006)
New Revision: 13737
Trac: http://svn.gnucash.org/trac/changeset/13737

Modified:
   gnucash/trunk/src/engine/gnc-commodity.c
Log:
   When destroying a commodity, remove it from the commodity table.
   Fixes random crashes demonstrated by test-xml-commodities.


Modified: gnucash/trunk/src/engine/gnc-commodity.c
===================================================================
--- gnucash/trunk/src/engine/gnc-commodity.c	2006-04-05 09:17:48 UTC (rev 13736)
+++ gnucash/trunk/src/engine/gnc-commodity.c	2006-04-05 17:59:14 UTC (rev 13737)
@@ -544,8 +544,14 @@
 void
 gnc_commodity_destroy(gnc_commodity * cm)
 {
+  QofBook *book;
+  gnc_commodity_table *table;
   if(!cm) return;
 
+  book = qof_instance_get_book(&cm->inst);
+  table = gnc_commodity_table_get_table(book);
+  gnc_commodity_table_remove(table, cm);
+
   qof_event_gen (&cm->inst.entity, QOF_EVENT_DESTROY, NULL);
 
   /* Set at creation */



More information about the gnucash-changes mailing list