diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-01-17 11:43:00 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-01-17 11:43:00 +0100 |
| commit | 0dfa37f4c07beae4fb5a2118b1b67286d37a0c72 (patch) | |
| tree | 80b179d903424f60c5f637064c68a2ac08d27648 /src | |
| parent | 266bf1d3c0c5ff2131e3c52b8994083eccb27da4 (diff) | |
Wayland + full-size subwindow resizing issue - cont'd (#878)
Implement a less strict handling of resizing of a decorated window entirely covered
by a subwindow where throttling of fast resize commands is guided by the
value of the in_use member variable of the window's wld_buffer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index ac34952e0..e32943caa 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -909,9 +909,13 @@ static void handle_configure(struct libdecor_frame *frame, #ifndef LIBDECOR_MR131 bool in_decorated_window_resizing = (window->state & LIBDECOR_WINDOW_STATE_RESIZING); #endif - if (in_decorated_window_resizing && window->buffer && window->buffer->cb) { + bool condition = in_decorated_window_resizing && window->buffer; + if (condition) { // see issue #878 + condition = (window->covered ? window->buffer->in_use : (window->buffer->cb != NULL)); + } + if (condition) { // Skip resizing & redrawing. The last resize request won't be skipped because - // in_decorated_window_resizing will be false then. + // in_decorated_window_resizing will be false or cb will be NULL then. return; } |
