Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 59380)
@@ -171,4 +171,13 @@
     }
 
+    /* Load machine-view settings: */
+    pMachineView->loadMachineViewSettings();
+
+    /* Prepare viewport: */
+    pMachineView->prepareViewport();
+
+    /* Prepare frame-buffer: */
+    pMachineView->prepareFrameBuffer();
+
     /* Prepare common things: */
     pMachineView->prepareCommon();
@@ -205,4 +214,7 @@
     if (!pMachineView)
         return;
+
+    /* Cleanup frame-buffer: */
+    pMachineView->cleanupFrameBuffer();
 
 #ifdef VBOX_WITH_DRAG_AND_DROP
@@ -611,16 +623,25 @@
 #endif
 {
-    /* Load machine view settings: */
-    loadMachineViewSettings();
-
-    /* Prepare viewport: */
-    prepareViewport();
-
-    /* Prepare frame buffer: */
-    prepareFrameBuffer();
-}
-
-UIMachineView::~UIMachineView()
-{
+}
+
+void UIMachineView::loadMachineViewSettings()
+{
+    /* Global settings: */
+    {
+        /* Remember the maximum guest size policy for telling the guest about
+         * video modes we like: */
+        QString maxGuestSize = vboxGlobal().settings().publicProperty("GUI/MaxGuestResolution");
+        if ((maxGuestSize == QString::null) || (maxGuestSize == "auto"))
+            m_maxGuestSizePolicy = MaxGuestSizePolicy_Automatic;
+        else if (maxGuestSize == "any")
+            m_maxGuestSizePolicy = MaxGuestSizePolicy_Any;
+        else  /** @todo Mea culpa, but what about error checking? */
+        {
+            int width  = maxGuestSize.section(',', 0, 0).toInt();
+            int height = maxGuestSize.section(',', 1, 1).toInt();
+            m_maxGuestSizePolicy = MaxGuestSizePolicy_Fixed;
+            m_fixedMaxGuestSize = QSize(width, height);
+        }
+    }
 }
 
@@ -802,25 +823,4 @@
     /* Machine state-change updater: */
     connect(uisession(), SIGNAL(sigMachineStateChange()), this, SLOT(sltMachineStateChanged()));
-}
-
-void UIMachineView::loadMachineViewSettings()
-{
-    /* Global settings: */
-    {
-        /* Remember the maximum guest size policy for telling the guest about
-         * video modes we like: */
-        QString maxGuestSize = vboxGlobal().settings().publicProperty("GUI/MaxGuestResolution");
-        if ((maxGuestSize == QString::null) || (maxGuestSize == "auto"))
-            m_maxGuestSizePolicy = MaxGuestSizePolicy_Automatic;
-        else if (maxGuestSize == "any")
-            m_maxGuestSizePolicy = MaxGuestSizePolicy_Any;
-        else  /** @todo Mea culpa, but what about error checking? */
-        {
-            int width  = maxGuestSize.section(',', 0, 0).toInt();
-            int height = maxGuestSize.section(',', 1, 1).toInt();
-            m_maxGuestSizePolicy = MaxGuestSizePolicy_Fixed;
-            m_fixedMaxGuestSize = QSize(width, height);
-        }
-    }
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 59380)
@@ -170,22 +170,23 @@
     );
     /* Machine-view destructor: */
-    virtual ~UIMachineView();
+    virtual ~UIMachineView() {}
 
     /* Prepare routines: */
-    void prepareViewport();
-    void prepareFrameBuffer();
+    virtual void loadMachineViewSettings();
+    virtual void prepareViewport();
+    virtual void prepareFrameBuffer();
     virtual void prepareCommon();
     virtual void prepareFilters();
     virtual void prepareConnections();
     virtual void prepareConsoleConnections();
-    void loadMachineViewSettings();
 
     /* Cleanup routines: */
-    //virtual void saveMachineViewSettings() {}
     //virtual void cleanupConsoleConnections() {}
+    //virtual void cleanupConnections() {}
     //virtual void cleanupFilters() {}
     //virtual void cleanupCommon() {}
     virtual void cleanupFrameBuffer();
     //virtual void cleanupViewport();
+    //virtual void saveMachineViewSettings() {}
 
     /** Returns the session UI reference. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 59380)
@@ -61,10 +61,4 @@
 }
 
-UIMachineViewFullscreen::~UIMachineViewFullscreen()
-{
-    /* Cleanup frame buffer: */
-    cleanupFrameBuffer();
-}
-
 void UIMachineViewFullscreen::sltAdditionsStateChanged()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h	(revision 59380)
@@ -36,5 +36,5 @@
     );
     /* Fullscreen machine-view destructor: */
-    virtual ~UIMachineViewFullscreen();
+    virtual ~UIMachineViewFullscreen() {}
 
 private slots:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 59380)
@@ -54,10 +54,4 @@
     , m_bIsGuestAutoresizeEnabled(actionPool()->action(UIActionIndexRT_M_View_T_GuestAutoresize)->isChecked())
 {
-}
-
-UIMachineViewNormal::~UIMachineViewNormal()
-{
-    /* Cleanup frame buffer: */
-    cleanupFrameBuffer();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h	(revision 59380)
@@ -36,5 +36,5 @@
     );
     /* Normal machine-view destructor: */
-    virtual ~UIMachineViewNormal();
+    virtual ~UIMachineViewNormal() {}
 
 private slots:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp	(revision 59380)
@@ -56,10 +56,4 @@
                     )
 {
-}
-
-UIMachineViewScale::~UIMachineViewScale()
-{
-    /* Cleanup frame buffer: */
-    cleanupFrameBuffer();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h	(revision 59380)
@@ -36,5 +36,5 @@
     );
     /* Scale machine-view destructor: */
-    virtual ~UIMachineViewScale();
+    virtual ~UIMachineViewScale() {}
 
 private slots:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.cpp	(revision 59380)
@@ -67,13 +67,4 @@
 }
 
-UIMachineViewSeamless::~UIMachineViewSeamless()
-{
-    /* Cleanup seamless mode: */
-    cleanupSeamless();
-
-    /* Cleanup frame buffer: */
-    cleanupFrameBuffer();
-}
-
 void UIMachineViewSeamless::sltAdditionsStateChanged()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.h	(revision 59379)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineViewSeamless.h	(revision 59380)
@@ -36,5 +36,5 @@
     );
     /* Seamless machine-view destructor: */
-    virtual ~UIMachineViewSeamless();
+    virtual ~UIMachineViewSeamless() { cleanupSeamless(); }
 
 private slots:
