mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 13:24:09 +00:00
![Daniel van Vugt](/assets/img/avatar_default.png)
If a second `set_{sync,complete}_pending` was queued before the idle handler had flushed the first then one of them would be forgotten. It would stay queued forever and never emitted as a notification. This could happen repeatedly causing a slow leak. But worse still, `clutter-stage-cogl` would then have `pending_swaps` permanently stuck above zero preventing the presentation timing logic from being used. The problem is that a boolean can only count to one, but in some cases (triple buffering, whether intentional or accidental #334) we need it to count to two. So just change booleans to integers and count properly. https://gitlab.gnome.org/GNOME/mutter/merge_requests/216