summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-07-27 17:52:58 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-07-27 17:52:58 +0200
commit3932ed261f124a44484417f1a1cef96ec09f4387 (patch)
treef58e5a8a6527e79bf824c9161b08070d981dbb73 /src/drivers
parentf77c4737bbfa8104f56c19a608258ec557a2994a (diff)
Fix for issue #471 for the Wayland platform.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
index 2da3b9844..2a2b59a9d 100644
--- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
@@ -1417,6 +1417,10 @@ static void delayed_minsize(Fl_Window *win) {
void Fl_Wayland_Window_Driver::resize(int X, int Y, int W, int H) {
+ struct wld_window *fl_win = fl_xid(pWindow);
+ if (fl_win && fl_win->kind == DECORATED && !xdg_toplevel()) {
+ pWindow->wait_for_expose();
+ }
int is_a_move = (X != x() || Y != y() || Fl_Window::is_a_rescale());
int is_a_resize = (W != w() || H != h() || Fl_Window::is_a_rescale());
if (is_a_move) force_position(1);
@@ -1436,7 +1440,6 @@ void Fl_Wayland_Window_Driver::resize(int X, int Y, int W, int H) {
}
if (shown()) {
- struct wld_window *fl_win = fl_xid(pWindow);
float f = Fl::screen_scale(pWindow->screen_num());
if (is_a_resize) {
if (fl_win->kind == DECORATED) { // a decorated window