diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-09-16 17:26:00 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-09-16 17:26:00 +0200 |
| commit | 166a5bf785dab6b2319e0ac0711d8ce08e514b0c (patch) | |
| tree | d48dc37688d51fa00ea81208e2ac198b956fee69 | |
| parent | 699cca8ff4367c15ea0cda1b5750c68eac174816 (diff) | |
Update from libdecor source code (commit a735d056).
| -rw-r--r-- | libdecor/src/plugins/cairo/libdecor-cairo.c | 12 |
1 files changed, 3 insertions, 9 deletions
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 && |
