Index: /trunk/include/VBox/VBoxGuestLib.h
===================================================================
--- /trunk/include/VBox/VBoxGuestLib.h	(revision 44129)
+++ /trunk/include/VBox/VBoxGuestLib.h	(revision 44130)
@@ -478,4 +478,7 @@
  * @{ */
 VBGLR3DECL(int)     VbglR3GetDisplayChangeRequest(uint32_t *pcx, uint32_t *pcy, uint32_t *pcBits, uint32_t *piDisplay, bool fAck);
+VBGLR3DECL(int)     VbglR3GetDisplayChangeRequestEx(uint32_t *pcx, uint32_t *pcy, uint32_t *pcBits,
+                                                    uint32_t *piDisplay, uint32_t *pcOriginX, uint32_t *pcOriginY,
+                                                    bool *pfEnabled, bool fAck);
 VBGLR3DECL(bool)    VbglR3HostLikesVideoMode(uint32_t cx, uint32_t cy, uint32_t cBits);
 VBGLR3DECL(int)     VbglR3SaveVideoMode(const char *pszName, uint32_t cx, uint32_t cy, uint32_t cBits);
Index: /trunk/include/VBox/VMMDev.h
===================================================================
--- /trunk/include/VBox/VMMDev.h	(revision 44129)
+++ /trunk/include/VBox/VMMDev.h	(revision 44130)
@@ -171,4 +171,5 @@
     VMMDevReq_SetGuestCapabilities       = 56,
     VMMDevReq_VideoModeSupported2        = 57, /* since version 3.2.0 */
+    VMMDevReq_GetDisplayChangeRequestEx  = 80, /* since version 4.2.4 */
 #ifdef VBOX_WITH_HGCM
     VMMDevReq_HGCMConnect                = 60,
@@ -1073,4 +1074,38 @@
 
 /**
+ * Display change request structure, version Extended.
+ *
+ * Used by VMMDevReq_GetDisplayChangeRequestEx.
+ */
+typedef struct
+{
+    /** Header. */
+    VMMDevRequestHeader header;
+    /** Horizontal pixel resolution (0 = do not change). */
+    uint32_t xres;
+    /** Vertical pixel resolution (0 = do not change). */
+    uint32_t yres;
+    /** Bits per pixel (0 = do not change). */
+    uint32_t bpp;
+    /** Setting this to VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST indicates
+     * that the request is a response to that event.
+     * (Don't confuse this with VMMDevReq_AcknowledgeEvents.) */
+    uint32_t eventAck;
+    /** 0 for primary display, 1 for the first secondary, etc. */
+    uint32_t display;
+    /** New OriginX of secondary virtual screen */
+    uint32_t cxOrigin;
+    /** New OriginY of secondary virtual screen  */
+    uint32_t cyOrigin;
+    /** Change in origin of the secondary virtaul scree is
+     *  required */
+    bool fChangeOrigin;
+    /** secondary virtual screen enabled or disabled */
+    bool fEnabled;
+} VMMDevDisplayChangeRequestEx;
+AssertCompileSize(VMMDevDisplayChangeRequestEx, 24+32);
+
+
+/**
  * Video mode supported request structure.
  *
@@ -1840,4 +1875,6 @@
         case VMMDevReq_GetDisplayChangeRequest2:
             return sizeof(VMMDevDisplayChangeRequest2);
+        case VMMDevReq_GetDisplayChangeRequestEx:
+            return sizeof(VMMDevDisplayChangeRequestEx);
         case VMMDevReq_VideoModeSupported:
             return sizeof(VMMDevVideoModeSupportedRequest);
Index: /trunk/include/VBox/vmm/pdmifs.h
===================================================================
--- /trunk/include/VBox/vmm/pdmifs.h	(revision 44129)
+++ /trunk/include/VBox/vmm/pdmifs.h	(revision 44130)
@@ -2067,5 +2067,7 @@
      * @param   idxDisplay      The display index.
      */
-    DECLR3CALLBACKMEMBER(int, pfnRequestDisplayChange,(PPDMIVMMDEVPORT pInterface, uint32_t cx, uint32_t cy, uint32_t cBits, uint32_t idxDisplay));
+    DECLR3CALLBACKMEMBER(int, pfnRequestDisplayChange,(PPDMIVMMDEVPORT pInterface, uint32_t cx,
+                         uint32_t cy, uint32_t cBits, uint32_t idxDisplay,
+                         uint32_t cxOrigin, uint32_t cyOrigin, bool fEnable, bool fChangeOrigin));
 
     /**
Index: /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp	(revision 44129)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp	(revision 44130)
@@ -1569,4 +1569,5 @@
         case VMMDevReq_VideoAccelFlush:
         case VMMDevReq_VideoSetVisibleRegion:
+        case VMMDevReq_GetDisplayChangeRequestEx:
         case VMMDevReq_GetSeamlessChangeRequest:
         case VMMDevReq_GetVRDPChangeRequest:
Index: /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp	(revision 44129)
+++ /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp	(revision 44130)
@@ -140,6 +140,4 @@
     return rc;
 }
-
-
 /**
  * Query the last display change request sent from the host to the guest.
@@ -160,4 +158,68 @@
  *                      last request to be acknowledged.
  *
+ * @param   pcOriginX   New horizontal position of the secondary monitor.
+ * @param   pcOriginY   New vertical position of the secondary monitor.
+ * param    pfEnabled   Secondary monitor is enabled or not.
+ *
+ */
+VBGLR3DECL(int) VbglR3GetDisplayChangeRequestEx(uint32_t *pcx, uint32_t *pcy, uint32_t *pcBits,
+                                                uint32_t *piDisplay, uint32_t *pcOriginX, uint32_t *pcOriginY,
+                                                bool *pfEnabled, bool fAck)
+{
+    VMMDevDisplayChangeRequestEx Req;
+    int rc = VINF_SUCCESS;
+    AssertPtrReturn(pcx, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(pcy, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(pcBits, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(pcOriginX, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(pcOriginY, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(piDisplay, VERR_INVALID_PARAMETER);
+    AssertPtrReturn(pfEnabled, VERR_INVALID_PARAMETER);
+    RT_ZERO(Req);
+    rc = vmmdevInitRequest(&Req.header, VMMDevReq_GetDisplayChangeRequestEx);
+    if (RT_FAILURE(rc))
+    {
+        LogRelFlowFunc(("DisplayChangeRequest Extended not supported. Can't Init the Req.\n"));
+        return rc;
+    }
+
+    if (fAck)
+        Req.eventAck = VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST;
+    rc = vbglR3GRPerform(&Req.header);
+    if (RT_SUCCESS(rc))
+        rc = Req.header.rc;
+    if (RT_SUCCESS(rc))
+    {
+        *pcx = Req.xres;
+        *pcy = Req.yres;
+        *pcBits = Req.bpp;
+        *piDisplay = Req.display;
+        *pcOriginX = Req.cxOrigin;
+        *pcOriginY = Req.cyOrigin;
+        *pfEnabled = Req.fEnabled;
+        LogRel(("VbglR3GetDisplayChangeRequestEx: pcx=%d pcy=%d display=%d orgX=%d orgY=%d and Enabled=%d\n",
+                 *pcx, *pcy, *piDisplay, *pcOriginX, *pcOriginY, *pfEnabled));
+    }
+    return rc;
+}
+
+
+/**
+ * Query the last display change request sent from the host to the guest.
+ *
+ * @returns iprt status value
+ * @param   pcx         Where to store the horizontal pixel resolution
+ * @param   pcy         Where to store the vertical pixel resolution
+ *                      requested (a value of zero means do not change).
+ * @param   pcBits      Where to store the bits per pixel requested (a value
+ *                      of zero means do not change).
+ * @param   iDisplay    Where to store the display number the request was for
+ *                      - 0 for the primary display, 1 for the first
+ *                      secondary display, etc.
+ * @param   fAck        whether or not to acknowledge the newest request sent by
+ *                      the host.  If this is set, the function will return the
+ *                      most recent host request, otherwise it will return the
+ *                      last request to be acknowledged.
+ *
  */
 VBGLR3DECL(int) VbglR3GetDisplayChangeRequest(uint32_t *pcx, uint32_t *pcy, uint32_t *pcBits, uint32_t *piDisplay, bool fAck)
Index: /trunk/src/VBox/Additions/x11/VBoxClient/display.cpp
===================================================================
--- /trunk/src/VBox/Additions/x11/VBoxClient/display.cpp	(revision 44129)
+++ /trunk/src/VBox/Additions/x11/VBoxClient/display.cpp	(revision 44130)
@@ -158,4 +158,5 @@
     Cursor hArrowCursor = XCreateFontCursor(pDisplay, XC_left_ptr);
     int RRMaj, RRMin;
+    bool fExtDispReqSupport = true;
     if (!XRRQueryVersion(pDisplay, &RRMaj, &RRMin))
         RRMin = 0;
@@ -169,5 +170,6 @@
     while (true)
     {
-        uint32_t fEvents = 0, cx = 0, cy = 0, cBits = 0, iDisplay = 0;
+        uint32_t fEvents = 0, cx = 0, cy = 0, cBits = 0, iDisplay = 0, cxOrg = 0, cyOrg = 0;
+        bool fEnabled = false;
         rc = VbglR3WaitEvent(  VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST
                              | VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED,
@@ -190,6 +192,18 @@
         if (RT_SUCCESS(rc) && (fEvents & VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST))
         {
-            int rc2 = VbglR3GetDisplayChangeRequest(&cx, &cy, &cBits,
-                                                    &iDisplay, true);
+            int rc2 = VbglR3GetDisplayChangeRequestEx(&cx, &cy, &cBits,
+                                                      &iDisplay, &cxOrg, &cyOrg, &fEnabled, true);
+            /* Extended display version not supported on host */
+            if (RT_FAILURE(rc2))
+            {
+                LogRel(("GetDisplayChangeReq Extended Version not supported. \
+                         Trying for Normal Mode with cx=%d & cy=%d\n", cx, cy));
+                fExtDispReqSupport = false;
+                rc2 = VbglR3GetDisplayChangeRequest(&cx, &cy, &cBits, &iDisplay, true);
+            }
+            else
+                LogRelFlowFunc(("Got Extended Param from Host cx=%d, cy=%d, bpp=%d, iDisp=%d, \
+                                OrgX=%d, OrgY=%d Enb=%d\n", cx, cy, cBits, iDisplay,
+                                cxOrg, cyOrg, fEnabled));
             /* If we are not stopping, sleep for a bit to avoid using up
                 too much CPU while retrying. */
@@ -202,16 +216,54 @@
                 {
                     char szCommand[256];
-                    RTStrPrintf(szCommand, sizeof(szCommand),
-                                "%s --output VBOX%u --set VBOX_MODE %dx%d",
-                                pcszXrandr, iDisplay, cx, cy);
-                    system(szCommand);
-                    RTStrPrintf(szCommand, sizeof(szCommand),
-                                "%s --output VBOX%u --preferred",
-                                pcszXrandr, iDisplay);
-                    system(szCommand);
+                    if (fExtDispReqSupport)
+                    {
+                        if (fEnabled)
+                        {
+                            if (cx != 0 && cy != 0)
+                            {
+                                RTStrPrintf(szCommand, sizeof(szCommand),
+                                            "%s --output VBOX%u --set VBOX_MODE %dx%d",
+                                            pcszXrandr, iDisplay, cx, cy);
+                                system(szCommand);
+                            }
+                            /* Extended Display support possible . Secondary monitor position supported */
+                            if (cxOrg != 0 || cyOrg != 0)
+                            {
+                                RTStrPrintf(szCommand, sizeof(szCommand),
+                                            "%s --output VBOX%u --auto --pos %dx%d",
+                                            pcszXrandr, iDisplay, cxOrg, cyOrg);
+                                system(szCommand);
+                            }
+                            RTStrPrintf(szCommand, sizeof(szCommand),
+                                        "%s --output VBOX%u --preferred",
+                                        pcszXrandr, iDisplay);
+                            system(szCommand);
+                        }
+                        else /* disable the virtual monitor */
+                        {
+                            RTStrPrintf(szCommand, sizeof(szCommand),
+                                        "%s --output VBOX%u --off",
+                                         pcszXrandr, iDisplay);
+                            system(szCommand);
+                        }
+                    }
+                    else /* Extended display support not possible */
+                    {
+                        if (cx != 0 && cy != 0)
+                        {
+                            RTStrPrintf(szCommand, sizeof(szCommand),
+                                        "%s --output VBOX%u --set VBOX_MODE %dx%d",
+                                        pcszXrandr, iDisplay, cx, cy);
+                            system(szCommand);
+                            RTStrPrintf(szCommand, sizeof(szCommand),
+                                        "%s --output VBOX%u --preferred",
+                                        pcszXrandr, iDisplay);
+                            system(szCommand);
+                        }
+                    }
+
                 }
         }
     }
-    LogRelFlowFunc(("returning VINF_SUCCESS\n"));
     return VINF_SUCCESS;
 }
Index: /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 44129)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 44130)
@@ -1525,4 +1525,114 @@
 
         /*
+         * Retrieve a display resize request sent by the host using
+         * @a IDisplay:setVideoModeHint.
+         * See documentation in VMMDev.h.
+         */
+        case VMMDevReq_GetDisplayChangeRequestEx:
+        {
+            LogFlowFunc(("VMMDevReq_GetDisplayChangeRequestEx\n"));
+            if (pRequestHeader->size != sizeof(VMMDevDisplayChangeRequestEx))
+            {
+                pRequestHeader->rc = VERR_INVALID_PARAMETER;
+            }
+            else
+            {
+                VMMDevDisplayChangeRequestEx *displayChangeRequest = (VMMDevDisplayChangeRequestEx*)pRequestHeader;
+
+                DISPLAYCHANGEREQUEST *pRequest = NULL;
+
+                if (displayChangeRequest->eventAck == VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST)
+                {
+                    /* Select a pending request to report. */
+                    unsigned i;
+                    for (i = 0; i < RT_ELEMENTS(pThis->displayChangeData.aRequests); i++)
+                    {
+                        if (pThis->displayChangeData.aRequests[i].fPending)
+                        {
+                            pRequest = &pThis->displayChangeData.aRequests[i];
+                            /* Remember which request should be reported. */
+                            pThis->displayChangeData.iCurrentMonitor = i;
+                            Log3(("VMMDev: will report pending request for %d\n",
+                                  i));
+                            break;
+                        }
+                    }
+
+                    /* Check if there are more pending requests. */
+                    i++;
+                    for (; i < RT_ELEMENTS(pThis->displayChangeData.aRequests); i++)
+                    {
+                        if (pThis->displayChangeData.aRequests[i].fPending)
+                        {
+                            VMMDevNotifyGuest (pThis, VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST);
+                            Log3(("VMMDev: another pending at %d\n",
+                                  i));
+                            break;
+                        }
+                    }
+
+                    if (pRequest)
+                    {
+                        /* Current request has been read at least once. */
+                        pRequest->fPending = false;
+
+                        /* Remember which resolution the client has queried, subsequent reads
+                         * will return the same values. */
+                        pRequest->lastReadDisplayChangeRequest = pRequest->displayChangeRequest;
+                        pThis->displayChangeData.fGuestSentChangeEventAck = true;
+                    }
+                    else
+                    {
+                         Log3(("VMMDev: no pending request!!!\n"));
+                    }
+                }
+
+                if (!pRequest)
+                {
+                    Log3(("VMMDev: default to %d\n",
+                          pThis->displayChangeData.iCurrentMonitor));
+                    pRequest = &pThis->displayChangeData.aRequests[pThis->displayChangeData.iCurrentMonitor];
+                }
+
+                if (pThis->displayChangeData.fGuestSentChangeEventAck)
+                {
+                    displayChangeRequest->xres          = pRequest->lastReadDisplayChangeRequest.xres;
+                    displayChangeRequest->yres          = pRequest->lastReadDisplayChangeRequest.yres;
+                    displayChangeRequest->bpp           = pRequest->lastReadDisplayChangeRequest.bpp;
+                    displayChangeRequest->display       = pRequest->lastReadDisplayChangeRequest.display;
+                    displayChangeRequest->cxOrigin      = pRequest->lastReadDisplayChangeRequest.xOrigin;
+                    displayChangeRequest->cyOrigin      = pRequest->lastReadDisplayChangeRequest.yOrigin;
+                    displayChangeRequest->fEnabled      = pRequest->lastReadDisplayChangeRequest.fEnabled;
+                    displayChangeRequest->fChangeOrigin = pRequest->lastReadDisplayChangeRequest.fChangeOrigin;
+                }
+                else
+                {
+                    /* This is not a response to a VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST, just
+                     * read the last valid video mode hint. This happens when the guest X server
+                     * determines the initial video mode. */
+                    displayChangeRequest->xres          = pRequest->displayChangeRequest.xres;
+                    displayChangeRequest->yres          = pRequest->displayChangeRequest.yres;
+                    displayChangeRequest->bpp           = pRequest->displayChangeRequest.bpp;
+                    displayChangeRequest->display       = pRequest->displayChangeRequest.display;
+                    displayChangeRequest->cxOrigin      = pRequest->displayChangeRequest.xOrigin;
+                    displayChangeRequest->cyOrigin      = pRequest->displayChangeRequest.yOrigin;
+                    displayChangeRequest->fEnabled      = pRequest->displayChangeRequest.fEnabled;
+                    displayChangeRequest->fChangeOrigin = pRequest->displayChangeRequest.fChangeOrigin;
+
+                }
+                Log(("VMMDevEx: returning display change request xres = %d, yres = %d, bpp = %d id %d \
+                      xPos = %d, yPos = %d & Enabled=%d\n",
+                     displayChangeRequest->xres, displayChangeRequest->yres,
+                     displayChangeRequest->bpp, displayChangeRequest->display,
+                     displayChangeRequest->cxOrigin, displayChangeRequest->cyOrigin,
+                     displayChangeRequest->fEnabled));
+
+                pRequestHeader->rc = VINF_SUCCESS;
+            }
+            break;
+        }
+
+
+        /*
          * Query whether the given video mode is supported
          */
@@ -2604,5 +2714,7 @@
 
 
-static DECLCALLBACK(int) vmmdevRequestDisplayChange(PPDMIVMMDEVPORT pInterface, uint32_t xres, uint32_t yres, uint32_t bpp, uint32_t display)
+static DECLCALLBACK(int) vmmdevRequestDisplayChange(PPDMIVMMDEVPORT pInterface, uint32_t xres, uint32_t yres,
+                                                    uint32_t bpp, uint32_t display, uint32_t u32OriginX,
+                                                    uint32_t u32OriginY, bool fEnabled, bool fChangeOrigin)
 {
     VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface);
@@ -2621,4 +2733,7 @@
                            (!yres || (pRequest->lastReadDisplayChangeRequest.yres == yres)) &&
                            (!bpp || (pRequest->lastReadDisplayChangeRequest.bpp == bpp)) &&
+                           (pRequest->lastReadDisplayChangeRequest.xOrigin == u32OriginX) &&
+                           (pRequest->lastReadDisplayChangeRequest.yOrigin == u32OriginY) &&
+                           (pRequest->lastReadDisplayChangeRequest.fEnabled == fEnabled) &&
                            pRequest->lastReadDisplayChangeRequest.display == display;
 
@@ -2629,6 +2744,11 @@
     }
 
-    Log3(("vmmdevRequestDisplayChange: same=%d. new: xres=%d, yres=%d, bpp=%d, display=%d. old: xres=%d, yres=%d, bpp=%d, display=%d.\n",
-          fSameResolution, xres, yres, bpp, display, pRequest->lastReadDisplayChangeRequest.xres, pRequest->lastReadDisplayChangeRequest.yres, pRequest->lastReadDisplayChangeRequest.bpp, pRequest->lastReadDisplayChangeRequest.display));
+    Log3(("vmmdevRequestDisplayChange: same=%d. new: xres=%d, yres=%d, bpp=%d, display=%d.\
+          old: xres=%d, yres=%d, bpp=%d, display=%d. \n \
+          ,OriginX = %d , OriginY=%d, Enabled=%d, ChangeOrigin=%d\n",
+          fSameResolution, xres, yres, bpp, display, pRequest->lastReadDisplayChangeRequest.xres,
+          pRequest->lastReadDisplayChangeRequest.yres, pRequest->lastReadDisplayChangeRequest.bpp,
+          pRequest->lastReadDisplayChangeRequest.display,
+          u32OriginX, u32OriginY, fEnabled, fChangeOrigin));
 
     if (!fSameResolution)
@@ -2638,8 +2758,13 @@
 
         /* we could validate the information here but hey, the guest can do that as well! */
-        pRequest->displayChangeRequest.xres    = xres;
-        pRequest->displayChangeRequest.yres    = yres;
-        pRequest->displayChangeRequest.bpp     = bpp;
-        pRequest->displayChangeRequest.display = display;
+        pRequest->displayChangeRequest.xres          = xres;
+        pRequest->displayChangeRequest.yres          = yres;
+        pRequest->displayChangeRequest.bpp           = bpp;
+        pRequest->displayChangeRequest.display       = display;
+        pRequest->displayChangeRequest.xOrigin       = u32OriginX;
+        pRequest->displayChangeRequest.yOrigin       = u32OriginY;
+        pRequest->displayChangeRequest.fEnabled      = fEnabled;
+        pRequest->displayChangeRequest.fChangeOrigin = fChangeOrigin;
+
         pRequest->fPending = true;
 
Index: /trunk/src/VBox/Devices/VMMDev/VMMDevState.h
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDevState.h	(revision 44129)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDevState.h	(revision 44130)
@@ -31,4 +31,8 @@
     uint32_t bpp;
     uint32_t display;
+    uint32_t xOrigin;
+    uint32_t yOrigin;
+    bool fEnabled;
+    bool fChangeOrigin;
 } DISPLAYCHANGEINFO;
 
Index: /trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp	(revision 44129)
+++ /trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp	(revision 44130)
@@ -832,11 +832,8 @@
 {
     PPDMIVMMDEVPORT pVMMDevPort = gVMMDev->getVMMDevPort ();
-    NOREF(aEnabled);
-    NOREF(aChangeOrigin);
-    NOREF(aOriginX);
-    NOREF(aOriginY);
 
     if (pVMMDevPort)
-        pVMMDevPort->pfnRequestDisplayChange(pVMMDevPort, aWidth, aHeight, aBitsPerPixel, aDisplay);
+        pVMMDevPort->pfnRequestDisplayChange(pVMMDevPort, aWidth, aHeight, aBitsPerPixel,
+                                             aDisplay, aOriginX, aOriginY, aEnabled, aChangeOrigin);
 }
 
Index: /trunk/src/VBox/Main/src-client/DisplayImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 44129)
+++ /trunk/src/VBox/Main/src-client/DisplayImpl.cpp	(revision 44130)
@@ -2172,10 +2172,4 @@
     CHECK_CONSOLE_DRV (mpDrv);
 
-    /* XXX Ignore these parameters for now: */
-    NOREF(aChangeOrigin);
-    NOREF(aOriginX);
-    NOREF(aOriginY);
-    NOREF(aEnabled);
-
     /*
      * Do some rough checks for valid input
@@ -2216,5 +2210,6 @@
         PPDMIVMMDEVPORT pVMMDevPort = pVMMDev->getVMMDevPort();
         if (pVMMDevPort)
-            pVMMDevPort->pfnRequestDisplayChange(pVMMDevPort, aWidth, aHeight, aBitsPerPixel, aDisplay);
+            pVMMDevPort->pfnRequestDisplayChange(pVMMDevPort, aWidth, aHeight, aBitsPerPixel,
+                                                 aDisplay, aOriginX, aOriginY, aEnabled, aChangeOrigin);
     }
     return S_OK;
