VirtualBox

Changeset 73966 in vbox for trunk/src


Ignore:
Timestamp:
Aug 29, 2018 6:33:27 PM (6 years ago)
Author:
vboxsync
Message:

Additions/VboxTray: avoid using multidisplay resize request in XPDM, bugref:9229

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDisplay.cpp

    r73724 r73966  
    825825    int rc = VINF_SUCCESS;
    826826
    827     rc = VbglR3GetDisplayChangeRequestMulti(cDisplays, &cDisplays, &aDisplays[0], true /* fAck */);
    828 
    829     if (RT_SUCCESS(rc))
     827    /* Multidisplay resize is still implemented only for Win7 and newer guests. */
     828    if (pCtx->pEnv->dispIf.enmMode >= VBOXDISPIF_MODE_WDDM_W7 &&
     829        RT_SUCCESS(rc = VbglR3GetDisplayChangeRequestMulti(cDisplays, &cDisplays, &aDisplays[0], true /* fAck */)))
    830830    {
    831831        uint32_t i;
     
    845845        }
    846846
    847         /* Multidisplay resize is still implemented only for Win7 and newer guests.
    848            Single display resize request still goes old way. */
    849         if (pCtx->pEnv->dispIf.enmMode < VBOXDISPIF_MODE_WDDM_W7 || cDisplays == 1)
    850         {
    851             for (i = 0; i < cDisplays; ++i)
    852             {
    853                 doResize(pCtx,
    854                     aDisplays[i].idDisplay,
    855                     aDisplays[i].cx,
    856                     aDisplays[i].cy,
    857                     aDisplays[i].cBitsPerPixel,
    858                     !RT_BOOL(aDisplays[i].fDisplayFlags & VMMDEV_DISPLAY_DISABLED),
    859                     aDisplays[i].xOrigin,
    860                     aDisplays[i].yOrigin,
    861                     RT_BOOL(aDisplays[i].fDisplayFlags & VMMDEV_DISPLAY_ORIGIN));
    862             }
    863         }
    864         else
    865         {
    866             rc = VBoxDispIfResizeDisplayWin7(&pCtx->pEnv->dispIf, cDisplays, &aDisplays[0]);
    867         }
    868 
    869         return rc;
    870     }
    871 
     847        return VBoxDispIfResizeDisplayWin7(&pCtx->pEnv->dispIf, cDisplays, &aDisplays[0]);
     848    }
    872849
    873850    /* Fall back to the single monitor resize request. */
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