From 651d9f3e7960fc17d0ab1b27830d160fac1be132 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Tue, 4 Jun 2024 16:53:10 +0200 Subject: [PATCH] Wayland: add necessary calls to gtk_surface1_release() --- src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 4 ++-- src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index 647a1b461..98fcc5b8e 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -285,10 +285,10 @@ static void pointer_button(void *data, (struct Fl_Wayland_Screen_Driver::seat*)data; if (gtk_shell_surface && state == WL_POINTER_BUTTON_STATE_PRESSED && button == BTN_MIDDLE) { - struct gtk_surface1 *gtk_surface = gtk_shell1_get_gtk_surface(seat->gtk_shell, - gtk_shell_surface); + struct gtk_surface1 *gtk_surface = gtk_shell1_get_gtk_surface(seat->gtk_shell,gtk_shell_surface); gtk_surface1_titlebar_gesture(gtk_surface, serial, seat->wl_seat, GTK_SURFACE1_GESTURE_MIDDLE_CLICK); + gtk_surface1_release(gtk_surface); // very necessary return; } seat->serial = serial; diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index 467e985ef..9546fde94 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -1525,6 +1525,7 @@ void Fl_Wayland_Window_Driver::makeWindow() struct gtk_surface1 *gtk_surface = gtk_shell1_get_gtk_surface(scr_driver->seat->gtk_shell, new_window->wl_surface); gtk_surface1_set_modal(gtk_surface); + gtk_surface1_release(gtk_surface); // very necessary } }