From 2a9d2a966a73c649c2749e759e44d6c0ea7af03b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 9 Apr 2014 23:28:50 +0200 Subject: [PATCH] pixelcache: Split out a function https://bugzilla.gnome.org/show_bug.cgi?id=726475 --- gtk/gtkpixelcache.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/gtk/gtkpixelcache.c b/gtk/gtkpixelcache.c index 4cc07171d7..2a909641f7 100644 --- a/gtk/gtkpixelcache.c +++ b/gtk/gtkpixelcache.c @@ -377,12 +377,14 @@ _gtk_pixel_cache_repaint (GtkPixelCache *cache, cairo_region_destroy (region_dirty); } -static gboolean -blow_cache_cb (gpointer user_data) +static void +gtk_pixel_cache_blow_cache (GtkPixelCache *cache) { - GtkPixelCache *cache = user_data; - - cache->timeout_tag = 0; + if (cache->timeout_tag) + { + g_source_remove (cache->timeout_tag); + cache->timeout_tag = 0; + } if (cache->surface) { @@ -392,6 +394,16 @@ blow_cache_cb (gpointer user_data) cairo_region_destroy (cache->surface_dirty); cache->surface_dirty = NULL; } +} + +static gboolean +blow_cache_cb (gpointer user_data) +{ + GtkPixelCache *cache = user_data; + + cache->timeout_tag = 0; + + gtk_pixel_cache_blow_cache (cache); return G_SOURCE_REMOVE; }