diff options
author | Campbell Barton <campbell@blender.org> | 2022-10-25 14:27:12 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-10-25 14:27:12 +0300 |
commit | 78b13ab3db70cca977585e29407445d2d1502fbf (patch) | |
tree | 0dbcdd25418d663dfd5dff2b61eba35a6116bb36 /intern/ghost | |
parent | c4f9e4afab8c51e271fc6a313ccd2dd0b8d3186c (diff) |
Fix T102048: Tablet cursor remains hidden under KDE/Wayland
Diffstat (limited to 'intern/ghost')
-rw-r--r-- | intern/ghost/intern/GHOST_SystemWayland.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/ghost/intern/GHOST_SystemWayland.cpp b/intern/ghost/intern/GHOST_SystemWayland.cpp index f09678374fa..23f7c5060c0 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cpp +++ b/intern/ghost/intern/GHOST_SystemWayland.cpp @@ -140,6 +140,13 @@ static bool use_gnome_confine_hack = false; #define USE_GNOME_KEYBOARD_SUPPRESS_WARNING /** + * KDE (plasma 5.26.1) has a bug where the cursor surface needs to be committed + * (via `wl_surface_commit`) when it was hidden and is being set to visible again, see: T102048. + * TODO: report this bug up-stream. + */ +#define USE_KDE_TABLET_HIDDEN_CURSOR_HACK + +/** * When GNOME is found, require `libdecor`. * This is a hack because it seems there is no way to check if the compositor supports * server side decorations when initializing WAYLAND. @@ -5297,6 +5304,9 @@ static void cursor_buffer_show(const GWL_Seat *seat) tablet_tool->wl_surface_cursor, hotspot_x, hotspot_y); +#ifdef USE_KDE_TABLET_HIDDEN_CURSOR_HACK + wl_surface_commit(tablet_tool->wl_surface_cursor); +#endif } } } |