Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp	(revision 57045)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp	(revision 57046)
@@ -354,9 +354,4 @@
     AssertPtrReturnVoid(pFullscreenLogic);
 
-#ifdef Q_WS_MAC
-    /* ML and next using native stuff: */
-    const bool fSupportsNativeFullScreen = vboxGlobal().osRelease() > MacOSXRelease_Lion;
-#endif /* Q_WS_MAC */
-
     /* Make sure window should be shown and mapped to some host-screen: */
     if (!uisession()->isScreenVisible(m_uScreenId) ||
@@ -382,13 +377,14 @@
 
 #ifdef Q_WS_X11
-        /* On X11 calling placeOnScreen() is only needed for legacy window managers
-         * which we do not test, so this is 'best effort' code. With window managers which
-         * support the _NET_WM_FULLSCREEN_MONITORS protocol this would interfere unreliable. */
+        /* If WM doesn't support native stuff, we need to call for placeOnScreen(): */
         const bool fSupportsNativeFullScreen = VBoxGlobal::supportsFullScreenMonitorsProtocolX11() &&
                                                !gEDataManager->legacyFullscreenModeRequested();
         if (!fSupportsNativeFullScreen)
+        {
+            /* Make sure window have appropriate geometry: */
             placeOnScreen();
+        }
 #else /* !Q_WS_X11 */
-        /* Make sure window is maximized and placed on valid screen: */
+        /* Make sure window have appropriate geometry: */
         placeOnScreen();
 #endif /* !Q_WS_X11 */
@@ -397,27 +393,26 @@
         /* ML and next using native stuff, so we can call for simple show(),
          * Lion and previous using Qt stuff, so we should call for showFullScreen(): */
+        const bool fSupportsNativeFullScreen = vboxGlobal().osRelease() > MacOSXRelease_Lion;
         if (fSupportsNativeFullScreen)
+        {
+            /* Show window in normal mode: */
             show();
+        }
         else
+        {
+            /* Show window in fullscreen mode: */
             showFullScreen();
+        }
 #else /* !Q_WS_MAC */
-        /* Show in fullscreen mode: */
+        /* Show window in fullscreen mode: */
         showFullScreen();
 #endif /* !Q_WS_MAC */
 
 #ifdef Q_WS_X11
+        /* If WM supports native stuff, we need to map window to corresponding host-screen. */
         if (fSupportsNativeFullScreen)
         {
-            /* Tell recent window managers which screen this window should be mapped to.
-             * Apparently some window managers will not respond to requests for
-             * unmapped windows, so do this *after* the call to showFullScreen(). */
+            /* Tell recent window managers which host-screen this window should be mapped to: */
             VBoxGlobal::setFullScreenMonitorX11(this, pFullscreenLogic->hostScreenForGuestScreen(m_uScreenId));
-        }
-        else
-        {
-            /* On X11 calling placeOnScreen() is only needed for legacy window managers
-             * which we do not test, so this is 'best effort' code. With window managers which
-             * support the _NET_WM_FULLSCREEN_MONITORS protocol this would interfere unreliable. */
-            placeOnScreen();
         }
 #endif /* Q_WS_X11 */
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp	(revision 57045)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp	(revision 57046)
@@ -214,5 +214,5 @@
         placeOnScreen();
 
-        /* Show in normal mode: */
+        /* Show window in normal mode: */
         show();
 
@@ -225,8 +225,8 @@
         {
 # if   defined(Q_WS_WIN)
-            /* Show mini-toolbar: */
+            /* Show mini-toolbar in normal mode: */
             m_pMiniToolBar->show();
 # elif defined(Q_WS_X11)
-            /* Allow mini-toolbar to be located on available area: */
+            /* Show mini-toolbar in maximized mode: */
             m_pMiniToolBar->showMaximized();
 # endif /* Q_WS_X11 */
