]> Pileus Git - grits/blobdiff - src/plugins/test.c
Fix a variety of memory leaks
[grits] / src / plugins / test.c
index a463d3a6551661925e24adc182fc418f7965fe0d..8a7e8a6588c39877bb4605ae46985f883384f3c1 100644 (file)
@@ -175,11 +175,12 @@ static void grits_plugin_test_dispose(GObject *_test)
        g_debug("GritsPluginTest: dispose");
        GritsPluginTest *test = GRITS_PLUGIN_TEST(_test);
        if (test->viewer) {
-               grits_viewer_remove(test->viewer, GRITS_OBJECT(test->marker));
-               grits_viewer_remove(test->viewer, GRITS_OBJECT(test->poly));
-               grits_viewer_remove(test->viewer, GRITS_OBJECT(test->line));
-               g_object_unref(test->viewer);
+               GritsViewer *viewer = test->viewer;
                test->viewer = NULL;
+               grits_viewer_remove(viewer, GRITS_OBJECT(test->marker));
+               grits_viewer_remove(viewer, GRITS_OBJECT(test->poly));
+               grits_viewer_remove(viewer, GRITS_OBJECT(test->line));
+               g_object_unref(viewer);
        }
        G_OBJECT_CLASS(grits_plugin_test_parent_class)->dispose(_test);
 }