[gtk/wip/on-the-fence-about-damage: 2/3] fixup! gdkframeclockidle: handle frame clock getting frozen during paint



commit 655df4e6673f362da67e8d258d7911ed994a0516
Author: Ray Strode <rstrode redhat com>
Date:   Thu May 28 14:01:42 2020 -0400

    fixup! gdkframeclockidle: handle frame clock getting frozen during paint
    
    This fixup makes sure that once the clock is unfrozen it picks back up
    where it left off as quickly as possible.

 gdk/gdkframeclockidle.c | 6 ++++++
 1 file changed, 6 insertions(+)
---
diff --git a/gdk/gdkframeclockidle.c b/gdk/gdkframeclockidle.c
index 77346786be..529f835f6e 100644
--- a/gdk/gdkframeclockidle.c
+++ b/gdk/gdkframeclockidle.c
@@ -235,6 +235,12 @@ maybe_start_idle (GdkFrameClockIdle *clock_idle)
           g_source_set_name_by_id (priv->flush_idle_id, "[gtk] gdk_frame_clock_flush_idle");
         }
 
+      /* If we've already painted the frame, then we should finish up this tick as quickly
+       * as possible
+       */
+      if (priv->phase > GDK_FRAME_CLOCK_PHASE_PAINT)
+        min_interval = 0;
+
       if (!priv->in_paint_idle &&
          priv->paint_idle_id == 0 && RUN_PAINT_IDLE (priv))
         {


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