Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <campbell@blender.org>2022-10-25 14:27:12 +0300
committerCampbell Barton <campbell@blender.org>2022-10-25 14:27:12 +0300
commit78b13ab3db70cca977585e29407445d2d1502fbf (patch)
tree0dbcdd25418d663dfd5dff2b61eba35a6116bb36 /intern/ghost
parentc4f9e4afab8c51e271fc6a313ccd2dd0b8d3186c (diff)
Fix T102048: Tablet cursor remains hidden under KDE/Wayland
Diffstat (limited to 'intern/ghost')
-rw-r--r--intern/ghost/intern/GHOST_SystemWayland.cpp10
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
}
}
}