diff --git a/gsk/gpu/gskgpudevice.c b/gsk/gpu/gskgpudevice.c index 5bf0d9124e..7bac120977 100644 --- a/gsk/gpu/gskgpudevice.c +++ b/gsk/gpu/gskgpudevice.c @@ -63,11 +63,13 @@ cache_gc_cb (gpointer data) GSK_DEBUG (GLYPH_CACHE, "Periodic GC"); - gsk_gpu_device_gc (self, g_get_monotonic_time ()); + if (gsk_gpu_device_gc (self, g_get_monotonic_time ())) + { + priv->cache_gc_source = 0; + return G_SOURCE_REMOVE; + } - priv->cache_gc_source = 0; - - return G_SOURCE_REMOVE; + return G_SOURCE_CONTINUE; } void