summaryrefslogtreecommitdiff
path: root/libdecor/build
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-11-14 14:29:36 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-11-14 14:29:36 +0100
commit83f6336f3b024f4a7c55a7499d036f03d946c1b9 (patch)
tree17120bd57c8971ecca2eaf64ed06d10060b4674f /libdecor/build
parent19e40058dab55e2525fb2389823f04a788d074d3 (diff)
Libdecor-gtk and GTK Shell: take care of LIBDECOR_PLUGIN_DIR
Diffstat (limited to 'libdecor/build')
-rw-r--r--libdecor/build/fl_libdecor-plugins.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libdecor/build/fl_libdecor-plugins.c b/libdecor/build/fl_libdecor-plugins.c
index a5adbbbc2..c0078b615 100644
--- a/libdecor/build/fl_libdecor-plugins.c
+++ b/libdecor/build/fl_libdecor-plugins.c
@@ -437,6 +437,14 @@ void use_FLTK_pointer_button(struct libdecor_frame *frame) {
wl_list_for_each(seat, &lfg->plugin_gtk->seat_list, link) {
break;
}
+
+ struct wl_surface *surface = lfg->headerbar.wl_surface;
+ if (surface && !own_surface(surface)) {
+ // occurs if libdecor-gtk.so was dynamically loaded via LIBDECOR_PLUGIN_DIR
+ gtk_shell = NULL;
+ return;
+ }
+
struct wl_object *object = (struct wl_object *)seat->wl_pointer;
if (!object) return;
struct wl_pointer_listener *decor_listener =