PsppireDataStore: Move datasheet_destroy from dispose to finalize
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 5 Jul 2012 18:33:58 +0000 (20:33 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 8 Jul 2012 10:00:05 +0000 (12:00 +0200)
This actually destroys stuff, not merely unreffing.  So it belongs in finalize.

src/ui/gui/psppire-data-store.c

index 83933c474c8c241b7628b10d7fd3db6545689f7f..047cca78113fddef9a70e1f53becabfc0cacb9fb 100644 (file)
@@ -389,6 +389,13 @@ psppire_data_store_set_dictionary (PsppireDataStore *data_store, PsppireDict *di
 static void
 psppire_data_store_finalize (GObject *object)
 {
+  PsppireDataStore *ds = PSPPIRE_DATA_STORE (object);
+
+  if (ds->datasheet)
+    {
+      datasheet_destroy (ds->datasheet);
+      ds->datasheet = NULL;
+    }
 
   /* must chain up */
   (* parent_class->finalize) (object);
@@ -403,11 +410,6 @@ psppire_data_store_dispose (GObject *object)
   if (ds->dispose_has_run)
     return;
 
-  if (ds->datasheet)
-    {
-      datasheet_destroy (ds->datasheet);
-      ds->datasheet = NULL;
-    }
 
   /* must chain up */
   (* parent_class->dispose) (object);