]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/utilsx11.cpp
keep selected image in sync with the normal one if it hasn't been changed (patch...
[wxWidgets.git] / src / unix / utilsx11.cpp
index 7f46dcdbbf07328b56d271f5037f590d4e22f615..32f4ef60e7f9fe644018fa7af2845da4f0d71549 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     25.03.02
 // RCS-ID:      $Id$
 // Copyright:   (c) wxWindows team
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #if defined(__WXX11__) || defined(__WXGTK__) || defined(__WXMOTIF__)
@@ -276,11 +276,7 @@ static bool wxQueryWMspecSupport(Display *display, Window rootWnd, Atom feature)
     
     // Is the WM ICCCM supporting?
     XGetWindowProperty(display, rootWnd,
-#ifdef __VMS
                        _NET_SUPPORTING_WM_CHECK, 0, LONG_MAX,
-#else
-                       _NET_SUPPORTING_WM_CHECK, 0, UINT_MAX,
-#endif
                        False, XA_WINDOW, &type, &format, &nwins,
                        &after, (unsigned char **)&wins);
     if ( type != XA_WINDOW || nwins <= 0 || wins[0] == None )
@@ -289,11 +285,7 @@ static bool wxQueryWMspecSupport(Display *display, Window rootWnd, Atom feature)
 
     // Query for supported features:
     XGetWindowProperty(display, rootWnd,
-#ifdef __VMS
-                      _NET_SUPPORTED, 0, LONG_MAX,
-#else
-                      _NET_SUPPORTED, 0, UINT_MAX,
-#endif
+                       _NET_SUPPORTED, 0, LONG_MAX,
                        False, XA_ATOM, &type, &format, &natoms,
                        &after, (unsigned char **)&atoms);
     if ( type != XA_ATOM || atoms == NULL )
@@ -408,17 +400,29 @@ static void wxSetKDEFullscreen(Display *display, Window rootWnd,
     }
 
     // it is neccessary to unmap the window, otherwise kwin will ignore us:
+    XSync(display, False);
+    
     bool wasMapped = IsMapped(display, w);
     if (wasMapped)
+    {
         XUnmapWindow(display, w);
+        XSync(display, False);
+    }
+
     XChangeProperty(display, w, _NET_WM_WINDOW_TYPE, XA_ATOM, 32,
                        PropModeReplace, (unsigned char *) &data, lng);
+    XSync(display, False);
+
     if (wasMapped)
+    {
         XMapRaised(display, w);
+        XSync(display, False);
+    }
     
     wxWMspecSetState(display, rootWnd, w, 
                      fullscreen ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE,
                      _NET_WM_STATE_STAYS_ON_TOP);
+    XSync(display, False);
 
     if (!fullscreen)
     {
@@ -431,6 +435,7 @@ static void wxSetKDEFullscreen(Display *display, Window rootWnd,
         XMoveResizeWindow(display, w,
                           origRect->x, origRect->y,
                           origRect->width, origRect->height);
+        XSync(display, False);
     }
 }