summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-05-10 16:52:46 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-05-10 16:52:46 +0200
commitb6e0122926b9bae1b9400ba3bf01e5b7d977b758 (patch)
tree07970ff1bf2123ffbb27d88b08623b17050b48e4 /src
parentad27da578a952548dd16f8be4bbd871fccc423c7 (diff)
Fix for issue #441: Some minor regressions with borderless+fullscreen (Wayland).
Diffstat (limited to 'src')
-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 4cd614293..cabf831f7 100644
--- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
@@ -876,6 +876,7 @@ static void xdg_surface_configure(void *data, struct xdg_surface *xdg_surface, u
}
window->configured_width = window->fl_win->w();
window->configured_height = window->fl_win->h();
+ Fl::handle(FL_FOCUS, window->fl_win);
window->fl_win->redraw();
Fl_Window_Driver::driver(window->fl_win)->flush();
}
@@ -1303,10 +1304,12 @@ void Fl_Wayland_Window_Driver::update_scale()
void Fl_Wayland_Window_Driver::use_border() {
if (!shown() || pWindow->parent()) return;
struct libdecor_frame *frame = fl_xid(pWindow)->frame;
- if (frame && Fl_Wayland_Screen_Driver::compositor != Fl_Wayland_Screen_Driver::KDE) {
+ if (frame && Fl_Wayland_Screen_Driver::compositor != Fl_Wayland_Screen_Driver::KDE &&
+ && fl_xid(pWindow)->xdg_surface) {
libdecor_frame_set_visibility(frame, pWindow->border());
pWindow->redraw();
} else {
+ pWindow->wait_for_expose(); // useful for border(0) just after show()
Fl_Window_Driver::use_border();
}
}