From 166a5bf785dab6b2319e0ac0711d8ce08e514b0c Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:26:00 +0200 Subject: Update from libdecor source code (commit a735d056). --- libdecor/src/plugins/cairo/libdecor-cairo.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'libdecor/src/plugins/cairo/libdecor-cairo.c') diff --git a/libdecor/src/plugins/cairo/libdecor-cairo.c b/libdecor/src/plugins/cairo/libdecor-cairo.c index aa46a0d0d..12af8aacb 100644 --- a/libdecor/src/plugins/cairo/libdecor-cairo.c +++ b/libdecor/src/plugins/cairo/libdecor-cairo.c @@ -2363,6 +2363,7 @@ pointer_button(void *data, } else if (state == WL_POINTER_BUTTON_STATE_RELEASED && frame_cairo->grab) { + libdecor_frame_ref(&frame_cairo->frame); if (frame_cairo->grab == frame_cairo->focus) { switch (frame_cairo->active->type) { case BUTTON_MIN: @@ -2374,16 +2375,8 @@ pointer_button(void *data, toggle_maximized(&frame_cairo->frame); break; case BUTTON_CLOSE: -#ifdef DONT_APPLY_FLTK_CHANGES - if (closeable(frame_cairo)) - libdecor_frame_close(&frame_cairo->frame); -#else - if (closeable(frame_cairo)) { + if (closeable(frame_cairo)) libdecor_frame_close(&frame_cairo->frame); - seat->pointer_focus = NULL; - return; - } -#endif break; default: break; @@ -2391,6 +2384,7 @@ pointer_button(void *data, } frame_cairo->grab = NULL; sync_active_component(frame_cairo, seat); + libdecor_frame_unref(&frame_cairo->frame); } } else if (button == BTN_RIGHT && -- cgit v1.2.3