diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 5 |
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 |
