summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-08-27 16:46:16 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-08-27 16:46:16 +0200
commitd245a157b6395955f12957b066b61233714733c3 (patch)
tree9f0fec4fbdcc2dc325e1ac2c67d03b6f6aab1f04 /src
parent7e3aabf80eff2c93c5d9d77f4022e69bc75097ff (diff)
Slightly simpler handle_close() in Fl_Wayland_Window_Driver.cxx
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
index 8e6d94499..f5b43c962 100644
--- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
@@ -889,9 +889,9 @@ void Fl_Wayland_Window_Driver::wait_for_expose()
}
-static void delayed_close(void *data) {
- Fl::remove_check(delayed_close, data);
- Fl::handle(FL_CLOSE, (Fl_Window*)data);
+static void delayed_close(Fl_Window *win) {
+ Fl::remove_check((Fl_Timeout_Handler)delayed_close, win);
+ Fl::handle(FL_CLOSE, win);
}
@@ -899,16 +899,14 @@ static void handle_close(struct libdecor_frame *frame, void *user_data)
{ // runs when the close button of a window titlebar is pushed
// or after "Quit" of the application menu
// or after the Kill command of Sway
- struct wld_window* wl_win = (struct wld_window*)user_data;
- int X, Y = 0;
- if (wl_win->kind == Fl_Wayland_Window_Driver::DECORATED) {
- libdecor_frame_translate_coordinate(wl_win->frame, 0, 0, &X, &Y);
- }
- if (Y == 0) Fl::handle(FL_CLOSE, wl_win->fl_win);
+ Fl_Window* win = ((struct wld_window*)user_data)->fl_win;
+ int X, Y;
+ libdecor_frame_translate_coordinate(frame, 0, 0, &X, &Y);
+ if (Y == 0) Fl::handle(FL_CLOSE, win);
else {
// the close window attempt is delayed because libdecor
// uses the frame after return from this function
- Fl::add_check(delayed_close, wl_win->fl_win);
+ Fl::add_check((Fl_Timeout_Handler)delayed_close, win);
}
}