clutter/frame-clock: Handle reschedule then dispatch results in idle
A frame clock dispatch doesn't necessarily result in a frame drawn, meaning we'll end up in the idle state. However, it may be the case that something still requires another frame, and will in that case have requested one to be scheduled. In order to not dead lock, try to reschedule directly if requested after dispatching, if we ended up in the idle state. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1285
This commit is contained in:
@ -419,6 +419,7 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
|
||||
break;
|
||||
case CLUTTER_FRAME_RESULT_IDLE:
|
||||
frame_clock->state = CLUTTER_FRAME_CLOCK_STATE_IDLE;
|
||||
maybe_reschedule_update (frame_clock);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user