]> Pileus Git - grits/blobdiff - src/plugins/sat.c
Improve shutdown code
[grits] / src / plugins / sat.c
index 29a7d263a56f863e4b9c9e09ba8193ddc80530ed..ebcc838d0faa63607283488eee0be55aca6aa27e 100644 (file)
@@ -210,6 +210,7 @@ static void grits_plugin_sat_init(GritsPluginSat *sat)
        sat->wms   = grits_wms_new(
                "http://www.nasa.network.com/wms", "bmng200406", "image/jpeg",
                "bmng/", "jpg", TILE_WIDTH, TILE_HEIGHT);
+       g_object_ref(sat->tiles);
 }
 static void grits_plugin_sat_dispose(GObject *gobject)
 {
@@ -218,6 +219,10 @@ static void grits_plugin_sat_dispose(GObject *gobject)
        /* Drop references */
        if (sat->viewer) {
                g_signal_handler_disconnect(sat->viewer, sat->sigid);
+               grits_viewer_remove(sat->viewer, sat->tiles);
+               soup_session_abort(sat->wms->http->soup);
+               while (gtk_events_pending())
+                       gtk_main_iteration();
                g_object_unref(sat->viewer);
                sat->viewer = NULL;
        }