mirror of
https://github.com/brl/mutter.git
synced 2025-02-14 20:34:10 +00:00
![Carlos Garnacho](/assets/img/avatar_default.png)
If a write_async() comes up while we are flushing on the background, the task will be queued, but not deemed a reason on itself to keep flushing (and finish the task) after a property delete event. To fix this, do not ever queue up write_async tasks (this leaves priv->pending_task only used for flush(), so the "flush to end" behavior in the background is consistent). We only start a background flush if there's reasons to do it, but the tasks are immediately finished. All data will still be ensured to be transfered on flush/close, this makes the caller in this situation still able to reach to it. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1198 (cherry picked from commit 655a783891ac38c01834cb6d9631aa5834666892)