[mutter/cherry-pick-1a1f1ecc] clutter/frame-clock: Schedule a frame at least once per second




commit 176a79ec1862e76e7860d553f96c0bb404ad803b
Author: Simon McVittie <smcv debian org>
Date:   Wed Nov 25 10:08:06 2020 +0000

    clutter/frame-clock: Schedule a frame at least once per second
    
    Users of Debian arm64 (aarch64) report that on at least some GPUs
    or screens, after time-based screen blanking has occurred, it is not
    possible to unlock the screen. Bisection indicates that this regressed
    in commit 209b1ba3, so presumably this is because a refresh rate of 0
    is reported while the screen is blanked, leading to the frame clock
    pausing forever.
    
    Fixes: 209b1ba3 "clutter/frame-clock: Adapt refresh rate from to frame info"
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1536
    Bug-Debian: https://bugs.debian.org/974172
    Signed-off-by: Simon McVittie <smcv debian org>
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1601>
    
    
    (cherry picked from commit 1a1f1eccbaeded8fd42b5157b83e3ab87722f90d)

 clutter/clutter/clutter-frame-clock.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/clutter/clutter/clutter-frame-clock.c b/clutter/clutter/clutter-frame-clock.c
index 3f3b9d9d83..355a2c00fb 100644
--- a/clutter/clutter/clutter-frame-clock.c
+++ b/clutter/clutter/clutter-frame-clock.c
@@ -197,7 +197,8 @@ clutter_frame_clock_notify_presented (ClutterFrameClock *frame_clock,
       frame_clock->last_presentation_time_us = g_get_monotonic_time ();
     }
 
-  frame_clock->refresh_rate = frame_info->refresh_rate;
+  if (frame_info->refresh_rate > 1)
+    frame_clock->refresh_rate = frame_info->refresh_rate;
 
   switch (frame_clock->state)
     {


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