]> Pileus Git - grits/blobdiff - src/plugins/map.c
Add compass rose
[grits] / src / plugins / map.c
index d1297670385242039c47d3009076e3a4dcfacb99..72fb320e0bd9ae287f59a0eee289489af82a55a2 100644 (file)
@@ -68,8 +68,8 @@ static gboolean _load_tile_cb(gpointer _data)
                        (data->alpha ? GL_RGBA : GL_RGB), GL_UNSIGNED_BYTE, data->pixels);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
        glFlush();
 
        data->tile->data = tex;
@@ -240,15 +240,16 @@ static void grits_plugin_map_dispose(GObject *gobject)
        map->aborted = TRUE;
        /* Drop references */
        if (map->viewer) {
-               g_signal_handler_disconnect(map->viewer, map->sigid);
-               grits_viewer_remove(map->viewer, GRITS_OBJECT(map->tiles));
+               GritsViewer *viewer = map->viewer;
+               map->viewer = NULL;
+               g_signal_handler_disconnect(viewer, map->sigid);
+               grits_viewer_remove(viewer, GRITS_OBJECT(map->tiles));
                soup_session_abort(map->tms->http->soup);
                //soup_session_abort(map->wms->http->soup);
                g_thread_pool_free(map->threads, TRUE, TRUE);
                while (gtk_events_pending())
                        gtk_main_iteration();
-               g_object_unref(map->viewer);
-               map->viewer = NULL;
+               g_object_unref(viewer);
        }
        G_OBJECT_CLASS(grits_plugin_map_parent_class)->dispose(gobject);
 }