VirtualBox

Changeset 35989 in vbox


Ignore:
Timestamp:
Feb 15, 2011 7:55:27 PM (14 years ago)
Author:
vboxsync
Message:

Main/MouseImpl, Devices/VMMDev, pdmif: fixed a number of placed where absolute mouse positions were passed unsigned

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VMMDev.h

    r35968 r35989  
    242242    uint32_t mouseFeatures;
    243243    /** Mouse x position. */
    244     uint32_t pointerXPos;
     244    int32_t pointerXPos;
    245245    /** Mouse y position. */
    246     uint32_t pointerYPos;
     246    int32_t pointerYPos;
    247247} VMMDevReqMouseStatus;
    248248AssertCompileSize(VMMDevReqMouseStatus, 24+12);
  • trunk/include/VBox/vmm/pdmifs.h

    r35560 r35989  
    19711971     * @param   pyAbs           Pointer of result value, can be NULL
    19721972     */
    1973     DECLR3CALLBACKMEMBER(int, pfnQueryAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, uint32_t *pxAbs, uint32_t *pyAbs));
     1973    DECLR3CALLBACKMEMBER(int, pfnQueryAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, int32_t *pxAbs, int32_t *pyAbs));
    19741974
    19751975    /**
     
    19811981     * @param   yAbs            New absolute Y position
    19821982     */
    1983     DECLR3CALLBACKMEMBER(int, pfnSetAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, uint32_t xAbs, uint32_t yAbs));
     1983    DECLR3CALLBACKMEMBER(int, pfnSetAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, int32_t xAbs, int32_t yAbs));
    19841984
    19851985    /**
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r35346 r35989  
    21772177 * @param   pAbsY   Pointer of result value, can be NULL
    21782178 */
    2179 static DECLCALLBACK(int) vmmdevQueryAbsoluteMouse(PPDMIVMMDEVPORT pInterface, uint32_t *pAbsX, uint32_t *pAbsY)
     2179static DECLCALLBACK(int) vmmdevQueryAbsoluteMouse(PPDMIVMMDEVPORT pInterface, int32_t *pAbsX, int32_t *pAbsY)
    21802180{
    21812181    VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface);
     
    21962196 * @param   absY   New absolute Y position
    21972197 */
    2198 static DECLCALLBACK(int) vmmdevSetAbsoluteMouse(PPDMIVMMDEVPORT pInterface, uint32_t absX, uint32_t absY)
     2198static DECLCALLBACK(int) vmmdevSetAbsoluteMouse(PPDMIVMMDEVPORT pInterface, int32_t absX, int32_t absY)
    21992199{
    22002200    VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface);
     
    25432543    SSMR3PutU32(pSSM, pThis->hypervisorSize);
    25442544    SSMR3PutU32(pSSM, pThis->mouseCapabilities);
    2545     SSMR3PutU32(pSSM, pThis->mouseXAbs);
    2546     SSMR3PutU32(pSSM, pThis->mouseYAbs);
     2545    SSMR3PutS32(pSSM, pThis->mouseXAbs);
     2546    SSMR3PutS32(pSSM, pThis->mouseYAbs);
    25472547
    25482548    SSMR3PutBool(pSSM, pThis->fNewGuestFilterMask);
     
    26112611    SSMR3GetU32(pSSM, &pThis->hypervisorSize);
    26122612    SSMR3GetU32(pSSM, &pThis->mouseCapabilities);
    2613     SSMR3GetU32(pSSM, &pThis->mouseXAbs);
    2614     SSMR3GetU32(pSSM, &pThis->mouseYAbs);
     2613    SSMR3GetS32(pSSM, &pThis->mouseXAbs);
     2614    SSMR3GetS32(pSSM, &pThis->mouseYAbs);
    26152615
    26162616    SSMR3GetBool(pSSM, &pThis->fNewGuestFilterMask);
  • trunk/src/VBox/Devices/VMMDev/VMMDevState.h

    r35346 r35989  
    9696    uint32_t mouseCapabilities;
    9797    /** absolute mouse position in pixels */
    98     uint32_t mouseXAbs;
    99     uint32_t mouseYAbs;
     98    int32_t mouseXAbs;
     99    int32_t mouseYAbs;
    100100    /** Does the guest currently want the host pointer to be shown? */
    101101    uint32_t fHostCursorRequested;
  • trunk/src/VBox/Main/include/MouseImpl.h

    r35871 r35989  
    9999    HRESULT reportAbsEventToMouseDev(uint32_t mouseXAbs, uint32_t mouseYAbs,
    100100                                 int32_t dz, int32_t dw, uint32_t fButtons);
    101     HRESULT reportAbsEventToVMMDev(uint32_t mouseXAbs, uint32_t mouseYAbs);
    102     HRESULT reportAbsEvent(uint32_t mouseXAbs, uint32_t mouseYAbs,
     101    HRESULT reportAbsEventToVMMDev(int32_t mouseXAbs, int32_t mouseYAbs);
     102    HRESULT reportAbsEvent(int32_t mouseXAbs, int32_t mouseYAbs,
    103103                           int32_t dz, int32_t dw, uint32_t fButtons,
    104104                           bool fUsesVMMDevEvent);
     
    123123
    124124    uint32_t mfVMMDevGuestCaps;  /** We cache this to avoid access races */
    125     uint32_t mcLastAbsX;
    126     uint32_t mcLastAbsY;
     125    int32_t mcLastAbsX;
     126    int32_t mcLastAbsY;
    127127    uint32_t mfLastButtons;
    128128
  • trunk/src/VBox/Main/src-client/MouseImpl.cpp

    r35871 r35989  
    349349 * @returns   COM status code
    350350 */
    351 HRESULT Mouse::reportAbsEventToVMMDev(uint32_t mouseXAbs, uint32_t mouseYAbs)
     351HRESULT Mouse::reportAbsEventToVMMDev(int32_t mouseXAbs, int32_t mouseYAbs)
    352352{
    353353    VMMDev *pVMMDev = mParent->getVMMDev();
     
    375375 * @returns   COM status code
    376376 */
    377 HRESULT Mouse::reportAbsEvent(uint32_t mouseXAbs, uint32_t mouseYAbs,
     377HRESULT Mouse::reportAbsEvent(int32_t mouseXAbs, int32_t mouseYAbs,
    378378                              int32_t dz, int32_t dw, uint32_t fButtons,
    379379                              bool fUsesVMMDevEvent)
     
    536536    HRESULT rc = convertDisplayRes(x, y, &mouseXAbs, &mouseYAbs, &fValid);
    537537    if (FAILED(rc)) return rc;
    538 
    539     /** @todo multi-monitor Windows guests expect this to be unbounded.
    540      * Understand the issues involved and fix for the rest. */
    541     /* if (mouseXAbs > 0xffff)
    542         mouseXAbs = mcLastAbsX;
    543     if (mouseYAbs > 0xffff)
    544         mouseYAbs = mcLastAbsY; */
    545538
    546539    fButtons = mouseButtonsToPDM(buttonState);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette