diff options
author | Alexander Larsson <alexl@redhat.com> | 2013-02-19 21:03:35 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2013-02-19 21:12:48 +0100 |
commit | 3c690c52ba6422bfd83de5c547ee27f33738106c (patch) | |
tree | 2c6a4e35ff5df88be3dbeceb1cfd8b9a9b23af14 /gdk | |
parent | de087165260ae2740e73cc3d24f9f18b972d8013 (diff) | |
download | gtk+-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.c | 3 |
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, |