X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9691c806e6fbb08b01c9eec9998ad1e8242c7df3..d91535c47f8bb17ab9740e35baea3f6450de026d:/src/x11/toplevel.cpp diff --git a/src/x11/toplevel.cpp b/src/x11/toplevel.cpp index 400891ac1d..d191faf6f1 100644 --- a/src/x11/toplevel.cpp +++ b/src/x11/toplevel.cpp @@ -101,6 +101,18 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, m_backgroundColour.CalcPixel( (WXColormap) cm ); m_hasBgCol = TRUE; + wxSize size2(size); + if (size2.x == -1) + size2.x = 100; + if (size2.y == -1) + size2.y = 100; + + wxPoint pos2(pos); + if (pos2.x == -1) + pos2.x = 100; + if (pos2.y == -1) + pos2.y = 100; + #if !wxUSE_NANOX XSetWindowAttributes xattributes; XSizeHints size_hints; @@ -118,18 +130,6 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, xattributes.override_redirect = False; #endif - wxSize size2(size); - if (size2.x == -1) - size2.x = 100; - if (size2.y == -1) - size2.y = 100; - - wxPoint pos2(pos); - if (pos2.x == -1) - pos2.x = 100; - if (pos2.y == -1) - pos2.y = 100; - #if wxUSE_NANOX long backColor, foreColor; backColor = GR_RGB(m_backgroundColour.Red(), m_backgroundColour.Green(), m_backgroundColour.Blue()); @@ -149,11 +149,23 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, #endif XSelectInput( xdisplay, xwindow, - extraFlags | ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | - ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask | - KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask | - PropertyChangeMask ); - + extraFlags | + ExposureMask | + KeyPressMask | + KeyReleaseMask | + ButtonPressMask | + ButtonReleaseMask | + ButtonMotionMask | + EnterWindowMask | + LeaveWindowMask | + PointerMotionMask | + KeymapStateMask | + FocusChangeMask | + ColormapChangeMask | + StructureNotifyMask | + PropertyChangeMask + ); + wxAddWindowToTable( xwindow, (wxWindow*) this ); // Set background to None which will prevent X11 from clearing the @@ -384,6 +396,7 @@ bool wxSetWMDecorations(Window w, long style) GR_WM_PROPERTIES wmProp; wmProp.flags = 0; + wmProp.props = 0; if (style & wxRESIZE_BORDER) { @@ -403,6 +416,11 @@ bool wxSetWMDecorations(Window w, long style) { wmProp.props |= GR_WM_PROPS_CAPTION ; wmProp.flags |= GR_WM_FLAGS_PROPS ; + + // The default dialog style doesn't include any kind + // of border, which is a bit odd. Anyway, inclusion + // of a caption surely implies a border. + style |= wxTHICK_FRAME; } if (style & wxTHICK_FRAME) @@ -585,12 +603,13 @@ void wxTopLevelWindowX11::DoSetClientSize(int width, int height) void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int sizeFlags) { - wxLogDebug( "Setting pos: %d, %d", x, y ); + // wxLogDebug( "Setting pos: %d, %d", x, y ); wxWindowX11::DoSetSize(x, y, width, height, sizeFlags); - wxPoint pt = GetPosition(); - wxLogDebug( "After, pos: %d, %d", pt.x, pt.y ); #if 0 + wxPoint pt = GetPosition(); + // wxLogDebug( "After, pos: %d, %d", pt.x, pt.y ); + XSync(wxGlobalDisplay(), False); int w, h; GetSize(& w, & h); @@ -605,14 +624,14 @@ void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int siz if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { - int yy = 0; + int yy = 0; AdjustForParentClientOrigin( x, yy, sizeFlags); windowChanges.x = x; valueMask |= CWX; } if (y != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { - int xx = 0; + int xx = 0; AdjustForParentClientOrigin( xx, y, sizeFlags); windowChanges.y = y; valueMask |= CWY; @@ -647,12 +666,12 @@ void wxTopLevelWindowX11::DoGetPosition(int *x, int *y) const int offsetY = 0; #if !wxUSE_NANOX - wxLogDebug("Translating..."); + // wxLogDebug("Translating..."); Window childWindow; XTranslateCoordinates(wxGlobalDisplay(), window, XDefaultRootWindow(wxGlobalDisplay()), 0, 0, & offsetX, & offsetY, & childWindow); - wxLogDebug("Offset: %d, %d", offsetX, offsetY); + // wxLogDebug("Offset: %d, %d", offsetX, offsetY); #endif XWindowAttributes attr;