mirror of
https://github.com/brl/mutter.git
synced 2025-02-14 12:24:09 +00:00
![Carlos Garnacho](/assets/img/avatar_default.png)
We react on changes to has_hw_cursor, but always try to inhibit if there is no cursor sprite. While this looks like a reasonable optimization with the typical situation of one cursor renderer, it may fall into inhibiting twice without knowing to unwind, e.g.: 1. has_hw_cursor: TRUE, cursor_sprite: !=NULL -> inhibit 2. has_hw_cursor: FALSE, cursor_sprite: NULL -> inhibit 3. has_hw_cursor: TRUE, cursor_sprite: !=NULL -> uninhibit, but once And this may also result in the CLUTTER_PAINT_FLAG_NO_CURSORS flag staying on for Tablet cursors, that (so far) always use overlay paths. This results in invisible tablet cursors after using the mouse at least once. Fixes: e52641c4b68 ("cursor-renderer/native: Replace HW cursor with KMS cursor manager") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3218>