mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 20:32:16 +00:00
frame-clock: Don't delay schedule_now() if already scheduled
If we call schedule(), which will schedule an update some time in the future, and then schedule_now(), we should reschedule the frame clock to update immediately, and not some time in the future. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2854>
This commit is contained in:
parent
9752ddf2cf
commit
cc2bbb25ba
@ -632,10 +632,9 @@ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
|
||||
{
|
||||
case CLUTTER_FRAME_CLOCK_STATE_INIT:
|
||||
case CLUTTER_FRAME_CLOCK_STATE_IDLE:
|
||||
case CLUTTER_FRAME_CLOCK_STATE_SCHEDULED:
|
||||
next_update_time_us = g_get_monotonic_time ();
|
||||
break;
|
||||
case CLUTTER_FRAME_CLOCK_STATE_SCHEDULED:
|
||||
return;
|
||||
case CLUTTER_FRAME_CLOCK_STATE_DISPATCHING:
|
||||
case CLUTTER_FRAME_CLOCK_STATE_PENDING_PRESENTED:
|
||||
frame_clock->pending_reschedule = TRUE;
|
||||
|
@ -430,6 +430,7 @@ schedule_update_now_hw_callback (gpointer user_data)
|
||||
UpdateNowFrameClockTest *test = user_data;
|
||||
ClutterFrameClock *frame_clock = test->base.fake_hw_clock->frame_clock;
|
||||
|
||||
clutter_frame_clock_schedule_update (frame_clock);
|
||||
clutter_frame_clock_schedule_update_now (frame_clock);
|
||||
g_assert (!test->idle_source_id);
|
||||
test->idle_source_id = g_idle_add (assert_not_reached_idle, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user