X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Fplugins%2Felev.c;h=588b5765edefbdfe709709b385d54cd69f3aa675;hp=7e4509f57e3182884bb83f7d7a1e19a8160a530b;hb=95561789ea91d7aea0d6dcd7b9321f0d1fc97188;hpb=156f921ad641a2f89d0355383d8e53a316edaa9a diff --git a/src/plugins/elev.c b/src/plugins/elev.c index 7e4509f..588b576 100644 --- a/src/plugins/elev.c +++ b/src/plugins/elev.c @@ -26,7 +26,6 @@ */ #include -#include #include @@ -114,7 +113,7 @@ static guint16 *_load_bil(gchar *path) g_debug("GritsPluginElev: load_bil %p", data); if (len != TILE_SIZE) { g_warning("GritsPluginElev: _load_bil - unexpected tile size %ld, != %ld", - len, TILE_SIZE); + (glong)len, (glong)TILE_SIZE); g_free(data); return NULL; } @@ -162,8 +161,8 @@ static guint _load_opengl(GdkPixbuf *pixbuf) (alpha ? GL_RGBA : GL_RGB), GL_UNSIGNED_BYTE, pixels); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - 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); g_debug("GritsPluginElev: load_opengl %d", opengl); return opengl; @@ -246,7 +245,7 @@ static void _free_tile(GritsTile *tile, gpointer _elev) static gpointer _update_tiles(gpointer _elev) { GritsPluginElev *elev = _elev; - if (!g_mutex_trylock(elev->mutex)) + if (!g_mutex_trylock(&elev->mutex)) return NULL; GritsPoint eye; grits_viewer_get_location(elev->viewer, &eye.lat, &eye.lon, &eye.elev); @@ -255,7 +254,7 @@ static gpointer _update_tiles(gpointer _elev) _load_tile, elev); grits_tile_gc(elev->tiles, time(NULL)-10, _free_tile, elev); - g_mutex_unlock(elev->mutex); + g_mutex_unlock(&elev->mutex); return NULL; } @@ -265,7 +264,7 @@ static gpointer _update_tiles(gpointer _elev) static void _on_location_changed(GritsViewer *viewer, gdouble lat, gdouble lon, gdouble elevation, GritsPluginElev *elev) { - g_thread_create(_update_tiles, elev, FALSE, NULL); + g_thread_new("update-tiles-thread", _update_tiles, elev); } static gpointer _threaded_init(GritsPluginElev *elev) @@ -293,7 +292,7 @@ GritsPluginElev *grits_plugin_elev_new(GritsViewer *viewer) elev->viewer = g_object_ref(viewer); /* Load initial tiles */ - g_thread_create((GThreadFunc)_threaded_init, elev, FALSE, NULL); + g_thread_new("init-thread", (GThreadFunc)_threaded_init, elev); /* Connect signals */ elev->sigid = g_signal_connect(elev->viewer, "location-changed", @@ -301,7 +300,7 @@ GritsPluginElev *grits_plugin_elev_new(GritsViewer *viewer) /* Add renderers */ if (LOAD_OPENGL) - grits_viewer_add(viewer, GRITS_OBJECT(elev->tiles), GRITS_LEVEL_WORLD, 0); + grits_viewer_add(viewer, GRITS_OBJECT(elev->tiles), GRITS_LEVEL_WORLD, FALSE); return elev; } @@ -325,7 +324,7 @@ static void grits_plugin_elev_init(GritsPluginElev *elev) { g_debug("GritsPluginElev: init"); /* Set defaults */ - elev->mutex = g_mutex_new(); + g_mutex_init(&elev->mutex); elev->tiles = grits_tile_new(NULL, NORTH, SOUTH, EAST, WEST); elev->wms = grits_wms_new( "http://www.nasa.network.com/elev", "mergedSrtm", "application/bil", @@ -354,9 +353,9 @@ static void grits_plugin_elev_finalize(GObject *gobject) /* Free data */ grits_tile_free(elev->tiles, _free_tile, elev); grits_wms_free(elev->wms); - g_mutex_lock(elev->mutex); - g_mutex_unlock(elev->mutex); - g_mutex_free(elev->mutex); + g_mutex_lock(&elev->mutex); + g_mutex_unlock(&elev->mutex); + g_mutex_clear(&elev->mutex); G_OBJECT_CLASS(grits_plugin_elev_parent_class)->finalize(gobject); }