Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 76940)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 76941)
@@ -180,39 +180,4 @@
             break;
         }
-        /* Handle every Resize and Move we keep track of the geometry. */
-        case QEvent::Resize:
-        {
-#ifdef VBOX_WS_X11
-            /* Prevent handling if fake screen detected: */
-            if (gpDesktop->isFakeScreenDetected())
-                break;
-#endif /* VBOX_WS_X11 */
-
-            if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)
-            {
-                QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent);
-                m_geometry.setSize(pResizeEvent->size());
-            }
-            break;
-        }
-        case QEvent::Move:
-        {
-#ifdef VBOX_WS_X11
-            /* Prevent handling if fake screen detected: */
-            if (gpDesktop->isFakeScreenDetected())
-                break;
-#endif /* VBOX_WS_X11 */
-
-            if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0)
-            {
-#if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)
-                QMoveEvent *pMoveEvent = static_cast<QMoveEvent*>(pEvent);
-                m_geometry.moveTo(pMoveEvent->pos());
-#else /* !VBOX_WS_MAC && !VBOX_WS_WIN */
-                m_geometry.moveTo(geometry().x(), geometry().y());
-#endif /* !VBOX_WS_MAC && !VBOX_WS_WIN */
-            }
-            break;
-        }
         default:
             break;
@@ -220,4 +185,45 @@
     /* Call to base-class: */
     return QIWithRetranslateUI<QIMainWindow>::event(pEvent);
+}
+
+void UIVirtualBoxManager::moveEvent(QMoveEvent *pEvent)
+{
+    /* Call to base-class: */
+    QIWithRetranslateUI<QIMainWindow>::moveEvent(pEvent);
+
+#ifdef VBOX_WS_X11
+    /* Prevent further handling if fake screen detected: */
+    if (gpDesktop->isFakeScreenDetected())
+        break;
+#endif
+
+    /* Prevent handling for yet/already invisible window or if window is in minimized state: */
+    if (isVisible() && (windowState() & Qt::WindowMinimized) == 0)
+    {
+#if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)
+        m_geometry.moveTo(frameGeometry().x(), frameGeometry().y());
+#else
+        m_geometry.moveTo(geometry().x(), geometry().y());
+#endif
+    }
+}
+
+void UIVirtualBoxManager::resizeEvent(QResizeEvent *pEvent)
+{
+    /* Call to base-class: */
+    QIWithRetranslateUI<QIMainWindow>::resizeEvent(pEvent);
+
+#ifdef VBOX_WS_X11
+    /* Prevent handling if fake screen detected: */
+    if (gpDesktop->isFakeScreenDetected())
+        break;
+#endif
+
+    /* Prevent handling for yet/already invisible window or if window is in minimized state: */
+    if (isVisible() && (windowState() & Qt::WindowMinimized) == 0)
+    {
+        QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent);
+        m_geometry.setSize(pResizeEvent->size());
+    }
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 76940)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 76941)
@@ -91,4 +91,8 @@
         /** Handles any Qt @a pEvent. */
         virtual bool event(QEvent *pEvent) /* override */;
+        /** Handles move @a pEvent. */
+        virtual void moveEvent(QMoveEvent *pEvent) /* override */;
+        /** Handles resize @a pEvent. */
+        virtual void resizeEvent(QResizeEvent *pEvent) /* override */;
         /** Handles show @a pEvent. */
         virtual void showEvent(QShowEvent *pEvent) /* override */;
