VirtualBox

Changeset 100085 in vbox


Ignore:
Timestamp:
Jun 6, 2023 3:03:19 PM (18 months ago)
Author:
vboxsync
Message:

WDDM: handle mouse pointers less than 32x32

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r98103 r100085  
    28632863    BYTE *pSrc, *pDst, bit;
    28642864
    2865     /* Windows always uses the maximum pointer size VBOXWDDM_C_POINTER_MAX_*
     2865    /* Windows often uses the maximum pointer size VBOXWDDM_C_POINTER_MAX_*
    28662866     * Exclude zero pixels (which are transparent anyway) from the right and the bottom of the bitmap.
    28672867     */
     
    28992899
    29002900    memset(pDst, 0xFF, dstBytesPerLine*pPointerAttributes->Height);
    2901     for (y=0; y<pPointerAttributes->Height; ++y)
    2902     {
    2903         for (x=0, bit=7; x<pPointerAttributes->Width; ++x, --bit)
     2901    for (y=0; y<RT_MIN(pSetPointerShape->Height, pPointerAttributes->Height); ++y)
     2902    {
     2903        for (x=0, bit=7; x<RT_MIN(pSetPointerShape->Width, pPointerAttributes->Width); ++x, --bit)
    29042904        {
    29052905            if (0xFF==bit) bit=7;
     
    29172917    dstBytesPerLine = pPointerAttributes->Width * 4;
    29182918
    2919     for (y=0; y<pPointerAttributes->Height; ++y)
    2920     {
    2921         memcpy(pDst+y*dstBytesPerLine, pSrc+y*pSetPointerShape->Pitch, dstBytesPerLine);
     2919    for (y=0; y<RT_MIN(pSetPointerShape->Height, pPointerAttributes->Height); ++y)
     2920    {
     2921        memcpy(pDst+y*dstBytesPerLine, pSrc+y*pSetPointerShape->Pitch, RT_MIN(dstBytesPerLine, pSetPointerShape->Pitch));
    29222922    }
    29232923
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