X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea59668704de4dcf7a8575c0a907499272d6da5c..59c962bf54667cab735353b2ec3b7a2438464f22:/src/x11/popupwin.cpp diff --git a/src/x11/popupwin.cpp b/src/x11/popupwin.cpp index e442728bde..debfbf577b 100644 --- a/src/x11/popupwin.cpp +++ b/src/x11/popupwin.cpp @@ -62,14 +62,14 @@ bool wxPopupWindow::Create( wxWindow *parent, int style ) long xattributes_mask = CWOverrideRedirect | + CWSaveUnder | CWBorderPixel | CWBackPixel; xattributes.background_pixel = BlackPixel( xdisplay, xscreen ); xattributes.border_pixel = BlackPixel( xdisplay, xscreen ); - xattributes.override_redirect = False; + xattributes.override_redirect = True; + xattributes.save_under = True; - wxSize size(2, 2); - - Window xwindow = XCreateWindow( xdisplay, xparent, 0, 0, size.x, size.y, + Window xwindow = XCreateWindow( xdisplay, xparent, pos.x, pos.y, size.x, size.y, 0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes ); XSelectInput( xdisplay, xwindow, @@ -80,9 +80,12 @@ bool wxPopupWindow::Create( wxWindow *parent, int style ) m_mainWidget = (WXWindow) xwindow; wxAddWindowToTable( xwindow, (wxWindow*) this ); - - XSetTransientForHint( xdisplay, xwindow, xparent ); - + + // Probably shouldn't be here for an unmanaged window + //XSetTransientForHint( xdisplay, xwindow, xparent ); + + // TODO: Will these calls cause decoration?? + size_hints.flags = PSize; size_hints.width = size.x; size_hints.height = size.y; @@ -92,11 +95,14 @@ bool wxPopupWindow::Create( wxWindow *parent, int style ) wm_hints.input = True; wm_hints.initial_state = NormalState; XSetWMHints( xdisplay, xwindow, &wm_hints); - + + // No decorations for this window +#if 0 Atom wm_delete_window = XInternAtom( xdisplay, "WM_DELETE_WINDOW", False); XSetWMProtocols( xdisplay, xwindow, &wm_delete_window, 1); wxSetWMDecorations((Window) GetMainWindow(), style); +#endif return TRUE; }