VirtualBox

Changeset 71070 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Feb 20, 2018 10:58:41 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
120934
Message:

WDDM/VBoxTray: bugref:8444: Cleaning up the code which sends UPDATEMODES sscape.

File:
1 edited

Legend:

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

    r69500 r71070  
    15121512     * "the D3DKMTInvalidateActiveVidPn function always resets a multimonitor desktop to the default configuration".
    15131513     */
     1514
     1515    if (fEnable || RT_BOOL(paDisplayDevices[iChangedMode].StateFlags & DISPLAY_DEVICE_ACTIVE))
     1516    {
     1517        RTRECTSIZE Size;
     1518
     1519        Size.cx = paDeviceModes[iChangedMode].dmPelsWidth;
     1520        Size.cy = paDeviceModes[iChangedMode].dmPelsHeight;
     1521
     1522        LogFunc(("Calling vboxDispIfUpdateModesWDDM to change target %d mode to (%d x %d)\n", iChangedMode, Size.cx, Size.cy));
     1523        winEr = vboxDispIfUpdateModesWDDM(&Op, iChangedMode, &Size);
     1524
     1525        if (winEr != NO_ERROR)
     1526            WARN(("vboxDispIfUpdateModesWDDM failed %d\n", winEr));
     1527    }
     1528
    15141529    for (uint32_t i = 0; i < cDevModes; ++i)
    15151530    {
     
    15211536                                 RT_BOOL(paDisplayDevices[i].StateFlags & DISPLAY_DEVICE_ACTIVE);
    15221537
    1523         if (i == iChangedMode && fCurrentEnable)
    1524         {
    1525             RTRECTSIZE Size;
    1526             Size.cx = paDeviceModes[iChangedMode].dmPelsWidth;
    1527             Size.cy = paDeviceModes[iChangedMode].dmPelsHeight;
    1528             LogFunc(("Calling vboxDispIfUpdateModesWDDM to change target %d mode to (%d x %d)\n", iChangedMode, Size.cx, Size.cy));
    1529             winEr = vboxDispIfUpdateModesWDDM(&Op, iChangedMode, &Size);
    1530             LogFunc(("vboxDispIfUpdateModesWDDM returned %d\n", winEr));
    1531 
    1532             if (winEr != NO_ERROR)
    1533                 WARN(("vboxDispIfUpdateModesWDDM failed %d\n", winEr));
    1534         }
    1535 
    1536         if (winEr == NO_ERROR)
    1537         {
    1538             winEr = vboxDispIfResizePerform(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
    1539 
    1540             LogFunc(("vboxDispIfResizePerform returned %d\n", winEr));
    1541 
    1542             if (winEr == ERROR_RETRY)
    1543             {
    1544                 VBoxRrRetrySchedule(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
    1545 
    1546                 winEr = NO_ERROR;
    1547             }
     1538        winEr = vboxDispIfResizePerform(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
     1539
     1540        LogFunc(("vboxDispIfResizePerform returned %d\n", winEr));
     1541
     1542        if (winEr == ERROR_RETRY)
     1543        {
     1544            VBoxRrRetrySchedule(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
     1545
     1546            winEr = NO_ERROR;
    15481547        }
    15491548    }
Note: See TracChangeset for help on using the changeset viewer.

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