From e589cb4bee133b2df34853fbbcc24355e1f2f4c9 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Wed, 10 Feb 2010 14:09:42 +0000 Subject: [PATCH] Avoid excess updates --- src/gis-opengl.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gis-opengl.c b/src/gis-opengl.c index 34e4c8d..8f03e8d 100644 --- a/src/gis-opengl.c +++ b/src/gis-opengl.c @@ -465,9 +465,11 @@ static gboolean on_key_press(GisOpenGL *opengl, GdkEventKey *event, gpointer _) return FALSE; } -static gboolean _update_errors_cb(gpointer sphere) +static gboolean _update_errors_cb(gpointer _opengl) { - roam_sphere_update_errors(sphere); + GisOpenGL *opengl = _opengl; + roam_sphere_update_errors(opengl->sphere); + opengl->ue_source = 0; return FALSE; } static void on_view_changed(GisOpenGL *opengl, @@ -476,8 +478,9 @@ static void on_view_changed(GisOpenGL *opengl, g_debug("GisOpenGL: on_view_changed"); _set_visuals(opengl); #ifndef ROAM_DEBUG - opengl->ue_source = g_idle_add_full(G_PRIORITY_HIGH_IDLE+30, - _update_errors_cb, opengl->sphere, NULL); + if (!opengl->ue_source) + opengl->ue_source = g_idle_add_full(G_PRIORITY_HIGH_IDLE+30, + _update_errors_cb, opengl, NULL); //roam_sphere_update_errors(opengl->sphere); #endif } -- 2.43.2