Index: /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 46609)
+++ /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 46610)
@@ -4438,5 +4438,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger network change if the VM isn't running */
+    /* don't trigger network changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -4551,5 +4551,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger nat engine change if the VM isn't running */
+    /* don't trigger NAT engine changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -4860,5 +4860,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger medium change if the VM isn't running */
+    /* don't trigger medium changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -4890,5 +4890,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger CPU change if the VM isn't running */
+    /* don't trigger CPU changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -4969,5 +4969,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger the Clipboard mode change if the VM isn't running */
+    /* don't trigger the clipboard mode change if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -5009,5 +5009,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger the Drag'n'drop mode change if the VM isn't running */
+    /* don't trigger the drag'n'drop mode change if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -5047,44 +5047,106 @@
     HRESULT rc = S_OK;
 
-    if (    mVRDEServer
-        &&  (   mMachineState == MachineState_Running
-             || mMachineState == MachineState_Teleporting
-             || mMachineState == MachineState_LiveSnapshotting
-             || mMachineState == MachineState_Paused
-            )
-       )
-    {
-        BOOL vrdpEnabled = FALSE;
-
-        rc = mVRDEServer->COMGETTER(Enabled)(&vrdpEnabled);
-        ComAssertComRCRetRC(rc);
-
-        if (aRestart)
-        {
-            /* VRDP server may call this Console object back from other threads (VRDP INPUT or OUTPUT). */
-            alock.release();
-
-            if (vrdpEnabled)
+    /* don't trigger VRDE server changes if the VM isn't running */
+    SafeVMPtrQuiet ptrVM(this);
+    if (ptrVM.isOk())
+    {
+        if (    mVRDEServer
+            &&  (   mMachineState == MachineState_Running
+                 || mMachineState == MachineState_Teleporting
+                 || mMachineState == MachineState_LiveSnapshotting
+                 || mMachineState == MachineState_Paused
+                 )
+           )
+        {
+            BOOL vrdpEnabled = FALSE;
+
+            rc = mVRDEServer->COMGETTER(Enabled)(&vrdpEnabled);
+            ComAssertComRCRetRC(rc);
+
+            if (aRestart)
             {
-                // If there was no VRDP server started the 'stop' will do nothing.
-                // However if a server was started and this notification was called,
-                // we have to restart the server.
-                mConsoleVRDPServer->Stop();
-
-                if (RT_FAILURE(mConsoleVRDPServer->Launch()))
-                    rc = E_FAIL;
+                /* VRDP server may call this Console object back from other threads (VRDP INPUT or OUTPUT). */
+                alock.release();
+
+                if (vrdpEnabled)
+                {
+                    // If there was no VRDP server started the 'stop' will do nothing.
+                    // However if a server was started and this notification was called,
+                    // we have to restart the server.
+                    mConsoleVRDPServer->Stop();
+
+                    if (RT_FAILURE(mConsoleVRDPServer->Launch()))
+                        rc = E_FAIL;
+                    else
+                        mConsoleVRDPServer->EnableConnections();
+                }
                 else
-                    mConsoleVRDPServer->EnableConnections();
+                    mConsoleVRDPServer->Stop();
+
+                alock.acquire();
+            }
+        }
+        else
+            rc = setInvalidMachineStateError();
+        ptrVM.release();
+    }
+
+    /* notify console callbacks on success */
+    if (SUCCEEDED(rc))
+    {
+        alock.release();
+        fireVRDEServerChangedEvent(mEventSource);
+    }
+
+    return rc;
+}
+
+void Console::onVRDEServerInfoChange()
+{
+    AutoCaller autoCaller(this);
+    AssertComRCReturnVoid(autoCaller.rc());
+
+    fireVRDEServerInfoChangedEvent(mEventSource);
+}
+
+HRESULT Console::onVideoCaptureChange()
+{
+    AutoCaller autoCaller(this);
+    AssertComRCReturnRC(autoCaller.rc());
+
+    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    HRESULT rc = S_OK;
+
+    /* don't trigger video capture changes if the VM isn't running */
+    SafeVMPtrQuiet ptrVM(this);
+    if (ptrVM.isOk())
+    {
+        BOOL fEnabled;
+        rc = mMachine->COMGETTER(VideoCaptureEnabled)(&fEnabled);
+        SafeArray<BOOL> screens;
+        if (SUCCEEDED(rc))
+            rc = mMachine->COMGETTER(VideoCaptureScreens)(ComSafeArrayAsOutParam(screens));
+        if (mDisplay)
+        {
+            int vrc = VINF_SUCCESS;
+            if (SUCCEEDED(rc))
+                vrc = mDisplay->VideoCaptureEnableScreens(ComSafeArrayAsInParam(screens));
+            if (RT_SUCCESS(vrc))
+            {
+                if (fEnabled)
+                {
+                    vrc = mDisplay->VideoCaptureStart();
+                    if (RT_FAILURE(vrc))
+                        rc = E_FAIL;
+                }
+                else
+                    mDisplay->VideoCaptureStop();
             }
             else
-            {
-                mConsoleVRDPServer->Stop();
-            }
-
-            alock.acquire();
-        }
-    }
-    else
-        rc = setInvalidMachineStateError();
+                rc = E_FAIL;
+        }
+        ptrVM.release();
+    }
 
     /* notify console callbacks on success */
@@ -5092,46 +5154,5 @@
     {
         alock.release();
-        fireVRDEServerChangedEvent(mEventSource);
-    }
-
-    return rc;
-}
-
-void Console::onVRDEServerInfoChange()
-{
-    AutoCaller autoCaller(this);
-    AssertComRCReturnVoid(autoCaller.rc());
-
-    fireVRDEServerInfoChangedEvent(mEventSource);
-}
-
-HRESULT Console::onVideoCaptureChange()
-{
-    AutoCaller autoCaller(this);
-    AssertComRCReturnRC(autoCaller.rc());
-
-    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    BOOL fEnabled;
-    HRESULT rc = mMachine->COMGETTER(VideoCaptureEnabled)(&fEnabled);
-    SafeArray<BOOL> screens;
-    if (SUCCEEDED(rc))
-        rc = mMachine->COMGETTER(VideoCaptureScreens)(ComSafeArrayAsOutParam(screens));
-    if (mDisplay)
-    {
-        int vrc = VINF_SUCCESS;
-        if (SUCCEEDED(rc))
-            vrc = mDisplay->VideoCaptureEnableScreens(ComSafeArrayAsInParam(screens));
-        if (RT_SUCCESS(vrc))
-        {
-            if (fEnabled)
-                vrc = mDisplay->VideoCaptureStart();
-            else
-                mDisplay->VideoCaptureStop();
-            if (RT_SUCCESS(vrc))
-                fireVideoCaptureChangedEvent(mEventSource);
-            else
-                rc = E_FAIL;
-        }
+        fireVideoCaptureChangedEvent(mEventSource);
     }
 
@@ -5363,5 +5384,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger the CPU priority change if the VM isn't running */
+    /* don't trigger bandwidth group changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
@@ -5426,5 +5447,5 @@
     HRESULT rc = S_OK;
 
-    /* don't trigger medium change if the VM isn't running */
+    /* don't trigger medium changes if the VM isn't running */
     SafeVMPtrQuiet ptrVM(this);
     if (ptrVM.isOk())
Index: /trunk/src/VBox/Main/src-server/VRDEServerImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/VRDEServerImpl.cpp	(revision 46609)
+++ /trunk/src/VBox/Main/src-server/VRDEServerImpl.cpp	(revision 46610)
@@ -289,9 +289,5 @@
     }
 
-#if 0
     return rc;
-#else
-    return S_OK;
-#endif
 }
 
