mirror of
https://github.com/brl/mutter.git
synced 2025-01-22 01:19:05 +00:00
20c1295a33
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