Index: /trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin-cocoa.mm
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin-cocoa.mm	(revision 51245)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin-cocoa.mm	(revision 51246)
@@ -198,8 +198,7 @@
 void darwinToggleFullscreenMode(NativeNSWindowRef pWindow)
 {
-    /* Toggle native fullscreen mode for passed pWindow. This method is available since 10.7 only.
-     * To automatically sync this method subsequent calls we performing it on the main (GUI) thread. */
+    /* Toggle native fullscreen mode for passed pWindow. This method is available since 10.7 only. */
     if ([pWindow respondsToSelector: @selector(toggleFullScreen:)])
-        [pWindow performSelectorOnMainThread: @selector(toggleFullScreen:) withObject: (id)nil waitUntilDone :NO];
+        [pWindow performSelector: @selector(toggleFullScreen:) withObject: (id)nil];
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 51245)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 51246)
@@ -438,11 +438,15 @@
             /* Window => logic signals: */
             connect(pMachineWindow, SIGNAL(sigNotifyAboutNativeFullscreenWillEnter()),
-                    this, SLOT(sltHandleNativeFullscreenWillEnter()));
+                    this, SLOT(sltHandleNativeFullscreenWillEnter()),
+                    Qt::QueuedConnection);
             connect(pMachineWindow, SIGNAL(sigNotifyAboutNativeFullscreenDidEnter()),
-                    this, SLOT(sltHandleNativeFullscreenDidEnter()));
+                    this, SLOT(sltHandleNativeFullscreenDidEnter()),
+                    Qt::QueuedConnection);
             connect(pMachineWindow, SIGNAL(sigNotifyAboutNativeFullscreenWillExit()),
-                    this, SLOT(sltHandleNativeFullscreenWillExit()));
+                    this, SLOT(sltHandleNativeFullscreenWillExit()),
+                    Qt::QueuedConnection);
             connect(pMachineWindow, SIGNAL(sigNotifyAboutNativeFullscreenDidExit()),
-                    this, SLOT(sltHandleNativeFullscreenDidExit()));
+                    this, SLOT(sltHandleNativeFullscreenDidExit()),
+                    Qt::QueuedConnection);
         }
         /* Revalidate 'fullscreen' windows: */
