diff options
Diffstat (limited to 'src/Fl_x.cxx')
| -rw-r--r-- | src/Fl_x.cxx | 6 |
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); |
