[gtk+] Avoid loop in paint update cycle



commit 3c690c52ba6422bfd83de5c547ee27f33738106c
Author: Alexander Larsson <alexl redhat com>
Date:   Tue Feb 19 21:03:35 2013 +0100

    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.

 gdk/gdkframeclockidle.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/gdk/gdkframeclockidle.c b/gdk/gdkframeclockidle.c
index 7e1a8c1..59a18de 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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]