summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2007-06-18 08:43:37 +0000
committerMatthias Melcher <fltk@matthiasm.com>2007-06-18 08:43:37 +0000
commit18dbfc8a5762259314a01a14b5ed5e5e49c35194 (patch)
tree2934c9cdd424bb9061c371482475039190593153 /src
parentdc296ba4c02cc450dfaa7e40dfba0783580ea23d (diff)
STR #1706: mapping a subwindow with an unmapped parent window would crash under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5911 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_x.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index 696cda10c..5603b22c8 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -1134,6 +1134,14 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
if (Y < scr_y) Y = scr_y;
}
+ // if the window is a subwindow and our parent is not mapped, we
+ // mark this window visible, so that mapping the parent later will
+ // call this function again.
+ if (win->parent() && !Fl_X::i(win->window())) {
+ win->set_visible();
+ return;
+ }
+
ulong root = win->parent() ?
fl_xid(win->window()) : RootWindow(fl_display, fl_screen);