diff options
| author | Michael Meskes <meskes@debian.org> | 2010-06-04 09:49:50 +0200 |
|---|---|---|
| committer | Michael Meskes <meskes@debian.org> | 2010-06-04 09:49:50 +0200 |
| commit | e13debb062071c46f2707d0d0e59c57675b49360 (patch) | |
| tree | 922f54068563b5cf3274bae8ba8122ce4b4ede1d /src/VBox/Devices/VMMDev | |
| parent | abd0051802e55207e88435a185ff8d6e6b8d17d5 (diff) | |
| download | virtualbox-upstream/3.2.2-dfsg.tar.gz | |
Imported Upstream version 3.2.2-dfsgupstream/3.2.2-dfsg
Diffstat (limited to 'src/VBox/Devices/VMMDev')
| -rw-r--r-- | src/VBox/Devices/VMMDev/VMMDev.cpp | 10 | ||||
| -rw-r--r-- | src/VBox/Devices/VMMDev/VMMDevHGCM.cpp | 11 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/VBox/Devices/VMMDev/VMMDev.cpp b/src/VBox/Devices/VMMDev/VMMDev.cpp index dc8340c89..d700883be 100644 --- a/src/VBox/Devices/VMMDev/VMMDev.cpp +++ b/src/VBox/Devices/VMMDev/VMMDev.cpp @@ -1,4 +1,4 @@ -/* $Id: VMMDev.cpp 29590 2010-05-18 07:02:17Z vboxsync $ */ +/* $Id: VMMDev.cpp 29751 2010-05-21 23:32:23Z vboxsync $ */ /** @file * VMMDev - Guest <-> VMM/Host communication device. */ @@ -1765,7 +1765,7 @@ static DECLCALLBACK(int) vmmdevRequestHandler(PPDMDEVINS pDevIns, void *pvUser, VMMDevSharedModuleRegistrationRequest *pReqModule = (VMMDevSharedModuleRegistrationRequest *)pRequestHeader; if ( pRequestHeader->size < sizeof(VMMDevSharedModuleRegistrationRequest) - || pRequestHeader->size != RT_OFFSETOF(VMMDevSharedModuleRegistrationRequest, aRegions[pReqModule->cRegions])) + || pRequestHeader->size != RT_UOFFSETOF(VMMDevSharedModuleRegistrationRequest, aRegions[pReqModule->cRegions])) { pRequestHeader->rc = VERR_INVALID_PARAMETER; } @@ -2096,7 +2096,8 @@ static DECLCALLBACK(int) vmmdevSetMouseCapabilities(PPDMIVMMDEVPORT pInterface, Log(("vmmdevSetMouseCapabilities: bNotify %d\n", bNotify)); - pThis->mouseCapabilities &= ~VMMDEV_MOUSE_HOST_MASK; + pThis->mouseCapabilities &= ~VMMDEV_MOUSE_HOST_MASK + | VMMDEV_MOUSE_HOST_RECHECKS_NEEDS_HOST_CURSOR; pThis->mouseCapabilities |= (capabilities & VMMDEV_MOUSE_HOST_MASK); if (bNotify) VMMDevNotifyGuest (pThis, VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED); @@ -2883,7 +2884,8 @@ static DECLCALLBACK(int) vmmdevConstruct(PPDMDEVINS pDevIns, int iInstance, PCFG AssertRCReturn(rc, rc); pThis->u32HGCMEnabled = 0; #endif /* VBOX_WITH_HGCM */ - /* The GUI checks whether this changes in this version of VirtualBox. */ + /* In this version of VirtualBox the GUI checks whether "needs host cursor" + * changes. */ pThis->mouseCapabilities |= VMMDEV_MOUSE_HOST_RECHECKS_NEEDS_HOST_CURSOR; PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMemBalloonChunks, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, "Memory balloon size", "/Devices/VMMDev/BalloonChunks"); diff --git a/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp b/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp index 2adbbad35..bca441b9f 100644 --- a/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp +++ b/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp @@ -1,4 +1,4 @@ -/* $Id: VMMDevHGCM.cpp 28800 2010-04-27 08:22:32Z vboxsync $ */ +/* $Id: VMMDevHGCM.cpp 29743 2010-05-21 16:00:02Z vboxsync $ */ /** @file * VMMDev - HGCM - Host-Guest Communication Manager Device. */ @@ -1065,8 +1065,15 @@ int vmmdevHGCMCall (VMMDevState *pVMMDevState, VMMDevHGCMCall *pHGCMCall, uint32 /* Pass the function call to HGCM connector for actual processing */ rc = pVMMDevState->pHGCMDrv->pfnCall (pVMMDevState->pHGCMDrv, pCmd, pHGCMCall->u32ClientID, pHGCMCall->u32Function, cParms, pCmd->paHostParms); + + if (RT_FAILURE (rc)) + { + Log(("vmmdevHGCMCall: pfnCall failed rc = %Rrc\n", rc)); + vmmdevHGCMRemoveCommand (pVMMDevState, pCmd); + } } - else + + if (RT_FAILURE (rc)) { if (pCmd->paLinPtrs) { |
