diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-01 15:43:18 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-01 15:43:18 +0100 |
| commit | 818e2b77d141574a8ef8cf50bbe33241206a2ee9 (patch) | |
| tree | 891dd586a1a8bce20f4b640f6bd98f337c838e0e /src/Fl_Window.cxx | |
| parent | 34f465add2c95aaba012d0f6444ad7478c420327 (diff) | |
Wayland: Fix issue in maximization of a borderless window (#1099)
Also fixes scenarios mixing fullscreen and maximization:
- maximize
- set fullscreen
- unset fullscreen
- un-maximize
with and without window border.
Diffstat (limited to 'src/Fl_Window.cxx')
| -rw-r--r-- | src/Fl_Window.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index 6ded79b01..c0dad7e37 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -954,13 +954,14 @@ fl_uintptr_t Fl_Window::os_id() { return pWindowDriver->os_id();} This function is effective only with a show()'n, resizable, top-level window. Bordered and borderless windows can be used. + Fullscreen windows can't be used. \see Fl_Window::un_maximize(), Fl_Window::maximize_active() */ void Fl_Window::maximize() { - if (!shown() || parent() || !is_resizable() || maximize_active()) return; + if (!shown() || parent() || !is_resizable() || maximize_active() || fullscreen_active()) + return; set_flag(MAXIMIZED); - if (border()) pWindowDriver->maximize(); - else pWindowDriver->Fl_Window_Driver::maximize(); + pWindowDriver->maximize(); } /** @@ -968,10 +969,9 @@ void Fl_Window::maximize() { \see Fl_Window::maximize() */ void Fl_Window::un_maximize() { - if (!shown() || parent() || !is_resizable() || !maximize_active()) return; + if (!shown() || parent() || !is_resizable() || !maximize_active() || fullscreen_active()) return; clear_flag(MAXIMIZED); - if (border()) pWindowDriver->un_maximize(); - else pWindowDriver->Fl_Window_Driver::un_maximize(); + pWindowDriver->un_maximize(); } void Fl_Window::is_maximized_(bool b) { |
