summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_x.cxx')
-rw-r--r--src/Fl_x.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index e071b8d83..b3045c8a6 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -35,6 +35,7 @@
# include <FL/fl_draw.H>
# include <FL/Fl_Paged_Device.H>
# include <FL/Fl_Shared_Image.H>
+# include <FL/Fl_Shaped_Window.H>
# include <FL/fl_ask.H>
# include <FL/filename.H>
# include <stdio.h>
@@ -2511,6 +2512,9 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
}
#endif
+ if (win->type() == FL_SHAPED_WINDOW) {
+ ((Fl_Shaped_Window*)win)->combine_mask();
+ }
XMapWindow(fl_display, xp->xid);
if (showit) {
win->set_visible();
@@ -2836,7 +2840,7 @@ void Fl_Window::show() {
if (!shown()) {
fl_open_display();
// Don't set background pixel for double-buffered windows...
- if (type() == FL_WINDOW && can_boxcheat(box())) {
+ if (type() != FL_DOUBLE_WINDOW && can_boxcheat(box())) {
fl_background_pixel = int(fl_xpixel(color()));
}
Fl_X::make_xid(this);