summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2013-02-19 21:03:35 +0100
committerAlexander Larsson <alexl@redhat.com>2013-02-19 21:12:48 +0100
commit3c690c52ba6422bfd83de5c547ee27f33738106c (patch)
tree2c6a4e35ff5df88be3dbeceb1cfd8b9a9b23af14 /gdk
parentde087165260ae2740e73cc3d24f9f18b972d8013 (diff)
downloadgtk+-3c690c52ba6422bfd83de5c547ee27f33738106c.tar.gz
Avoid loop in paint update cycle
Commit 1db87c897f930171646351c99af7df09dc7ec949 accidentally removed a check for !in_paint_idle in maybe_start_idle which causes us to create a paint loop whenever something requests a phase inside the paint_idle.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkframeclockidle.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdk/gdkframeclockidle.c b/gdk/gdkframeclockidle.c
index 7e1a8c17e6..59a18de064 100644
--- a/gdk/gdkframeclockidle.c
+++ b/gdk/gdkframeclockidle.c
@@ -247,7 +247,8 @@ maybe_start_idle (GdkFrameClockIdle *clock_idle)
(GDestroyNotify) g_object_unref);
}
- if (priv->paint_idle_id == 0 && RUN_PAINT_IDLE (priv))
+ if (!priv->in_paint_idle &&
+ priv->paint_idle_id == 0 && RUN_PAINT_IDLE (priv))
{
priv->paint_idle_id = gdk_threads_add_timeout_full (GDK_PRIORITY_REDRAW,
min_interval,