mutter/src
Carlos Garnacho d24be90941 backends/native: Fix accounting of cursor overlay inhibition
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: e52641c4b6 ("cursor-renderer/native: Replace HW cursor with KMS cursor manager")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3218>
2023-08-31 21:46:35 +00:00
..
backends backends/native: Fix accounting of cursor overlay inhibition 2023-08-31 21:46:35 +00:00
common Update license access method 2023-08-30 08:48:23 +02:00
compositor mtk: Move Rectangle.from_graphene_rect from Meta 2023-08-30 16:46:14 +02:00
core x11: Handle ConfigureRequest events in frames 2023-08-31 20:53:04 +00:00
frames cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta boxes: Add an alias for MetaRectangle 2023-08-30 16:46:14 +02:00
tests tests: Move Mtk specific tests from boxes 2023-08-30 16:46:14 +02:00
wayland mtk: Move Rectangle.to_graphene_rect from Meta 2023-08-30 16:46:14 +02:00
x11 x11: Handle ConfigureRequest events in frames 2023-08-31 20:53:04 +00:00
meson.build mutter: Replace cairo_rectangle_int_t with MtkRectangle 2023-08-30 16:46:13 +02:00
meta-private-enum-types.c.in build: Add missing include 2022-08-10 20:28:40 +02:00
meta-private-enum-types.h.in cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00