VirtualBox

Changeset 91763 in vbox


Ignore:
Timestamp:
Oct 15, 2021 2:15:30 PM (3 years ago)
Author:
vboxsync
Message:

3D/VMSVGA: Fix for primary display position in VBoxTray.exe for VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST, bugref:10120

File:
1 edited

Legend:

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

    r85121 r91763  
    17811781    uint32_t i;
    17821782
     1783    /* SetDisplayConfig assumes the top-left corner of a primary display at (0, 0) position */
     1784    const VMMDevDisplayDef* paDispDefPrimary = NULL;
     1785
     1786    for (i = 0; i < cDispDef; ++i)
     1787    {
     1788        pDispDef = &paDispDef[i];
     1789
     1790        if (RT_BOOL(pDispDef->fDisplayFlags & VMMDEV_DISPLAY_PRIMARY))
     1791        {
     1792            paDispDefPrimary = pDispDef;
     1793            break;
     1794        }
     1795    }
     1796
    17831797    VBOXDISPIF_OP Op;
    17841798    DWORD winEr = vboxDispIfOpBegin(pIf, &Op);
     
    18761890                if (pDispDef->fDisplayFlags & VMMDEV_DISPLAY_ORIGIN)
    18771891                {
    1878                     pSrcMode->position.x = pDispDef->xOrigin;
    1879                     pSrcMode->position.y = pDispDef->yOrigin;
     1892                    pSrcMode->position.x = pDispDef->xOrigin - (paDispDefPrimary ? paDispDefPrimary->xOrigin : 0);
     1893                    pSrcMode->position.y = pDispDef->yOrigin - (paDispDefPrimary ? paDispDefPrimary->yOrigin : 0);
    18801894                }
    18811895
     
    19801994                if (pDispDef->fDisplayFlags & VMMDEV_DISPLAY_ORIGIN)
    19811995                {
    1982                     pSrcModeInfo->sourceMode.position.x = pDispDef->xOrigin;
    1983                     pSrcModeInfo->sourceMode.position.y = pDispDef->yOrigin;
     1996                    pSrcModeInfo->sourceMode.position.x = pDispDef->xOrigin - (paDispDefPrimary ? paDispDefPrimary->xOrigin : 0);
     1997                    pSrcModeInfo->sourceMode.position.y = pDispDef->yOrigin - (paDispDefPrimary ? paDispDefPrimary->yOrigin : 0);
    19841998                }
    19851999
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