Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 27379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 27380)
@@ -280,4 +280,5 @@
         : QEventLoop(0)
         , m_iTimerId(0)
+        , m_fReallyQuit(false)
     {
         /* Also start timer to unlock pool in case of
@@ -290,4 +291,14 @@
         /* Kill the timer: */
         killTimer(m_iTimerId);
+    }
+
+public slots:
+
+    void quit()
+    {
+        if (m_fReallyQuit)
+            QEventLoop::quit();
+        else
+            m_fReallyQuit = true;
     }
 
@@ -304,4 +315,5 @@
 
     int m_iTimerId;
+    bool m_fReallyQuit;
 };
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 27379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 27380)
@@ -169,5 +169,7 @@
 
         case VBoxDefs::ResizeEventType:
-        {
+        case VBoxDefs::RepaintEventType:
+        {
+            /* Unlock on guest resize & repaint events: */
             bool fResult = UIMachineView::event(pEvent);
             if (m_pSyncBlocker && m_pSyncBlocker->isRunning())
@@ -175,4 +177,5 @@
             return fResult;
         }
+
         default:
             break;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 27379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 27380)
@@ -180,5 +180,7 @@
 
         case VBoxDefs::ResizeEventType:
-        {
+        case VBoxDefs::RepaintEventType:
+        {
+            /* Unlock on guest resize & repaint events: */
             bool fResult = UIMachineView::event(pEvent);
             if (m_pSyncBlocker && m_pSyncBlocker->isRunning())
@@ -187,4 +189,5 @@
             break;
         }
+
         default:
             break;
