]> Pileus Git - grits/blobdiff - src/plugins/elev.c
More reference counting updates
[grits] / src / plugins / elev.c
index 92d8dd140d7419509b10e2ed43d04876ea23cfad..db7b9775e535650cd16c3c91be774c154ad385a2 100644 (file)
@@ -154,6 +154,10 @@ static gboolean _load_tile_cb(gpointer _data)
        struct _LoadTileData *data  = _data;
        struct _TileData     *tdata = data->tdata;
        g_debug("GritsPluginElev: _load_tile_cb start");
+       if (data->elev->aborted) {
+               g_debug("GritsPluginElev: _load_tile - aborted");
+               return FALSE;
+       }
 
        /* Load OpenGL texture (from main thread) */
        if (data->pixels) {
@@ -286,7 +290,6 @@ GritsPluginElev *grits_plugin_elev_new(GritsViewer *viewer)
        elev->viewer = g_object_ref(viewer);
 
        /* Load initial tiles */
-       _load_tile(elev->tiles, elev);
        _update_tiles(NULL, elev);
 
        /* Connect signals */
@@ -340,6 +343,7 @@ static void grits_plugin_elev_dispose(GObject *gobject)
                        grits_viewer_clear_height_func(viewer);
                if (LOAD_TEX)
                        grits_viewer_remove(viewer, GRITS_OBJECT(elev->tiles));
+               g_object_unref(elev->tiles);
                soup_session_abort(elev->wms->http->soup);
                g_thread_pool_free(elev->threads, TRUE, TRUE);
                while (gtk_events_pending())