summaryrefslogtreecommitdiff
path: root/src/Fl_MacOS_Sys_Menu_Bar.mm
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-02 07:37:43 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-02 07:37:43 +0100
commitb3a683812883f6f8821c9848fd8414025b85c2aa (patch)
treec18df185e3784af2afbaca5c8dbd6f4ee2ffdffa /src/Fl_MacOS_Sys_Menu_Bar.mm
parent7ce5b74e12103ab5ec372ecc2500435deb22d7aa (diff)
Fix Mac: "Merge All Windows" fails if focused window is borderless (#1100)
Diffstat (limited to 'src/Fl_MacOS_Sys_Menu_Bar.mm')
-rw-r--r--src/Fl_MacOS_Sys_Menu_Bar.mm10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Fl_MacOS_Sys_Menu_Bar.mm b/src/Fl_MacOS_Sys_Menu_Bar.mm
index 950a52e29..b76deb27e 100644
--- a/src/Fl_MacOS_Sys_Menu_Bar.mm
+++ b/src/Fl_MacOS_Sys_Menu_Bar.mm
@@ -593,10 +593,12 @@ static void move_tab_cb(Fl_Widget *, void *data)
static void merge_all_windows_cb(Fl_Widget *, void *)
{
- Fl_Window *first = Fl::first_window();
- if (first) {
- [(NSWindow*)fl_xid(first) mergeAllWindows:nil];
- }
+ Fl_Window *first = Fl::first_window();
+ while (first && (first->parent() || !first->border()))
+ first = Fl::next_window(first);
+ if (first) {
+ [(NSWindow*)fl_xid(first) mergeAllWindows:nil];
+ }
}
#endif