Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp	(revision 86869)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp	(revision 86870)
@@ -403,4 +403,5 @@
         }
 
+        /** @todo r=andy We do duplicate code here (see VbglR3SeamlessWaitEvent()). */
         uint32_t fEvent = 0;
         rc = VbglR3WaitEvent(VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST, 5000 /*ms*/, &fEvent);
Index: /trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibSeamless.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibSeamless.cpp	(revision 86869)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibSeamless.cpp	(revision 86870)
@@ -67,9 +67,9 @@
 VBGLR3DECL(int) VbglR3SeamlessWaitEvent(VMMDevSeamlessMode *pMode)
 {
+    AssertPtrReturn(pMode, VERR_INVALID_POINTER);
+
+    /** @todo r=andy The (similar / duplicate) Windows code does similar waiting. Merge / fix this. */
     uint32_t fEvent = 0;
-    int rc;
-
-    AssertPtrReturn(pMode, VERR_INVALID_PARAMETER);
-    rc = VbglR3WaitEvent(VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST, RT_INDEFINITE_WAIT, &fEvent);
+    int rc = VbglR3WaitEvent(VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST, 5000 /* ms */, &fEvent);
     if (RT_SUCCESS(rc))
     {
