VirtualBox

Changeset 7409 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Mar 10, 2008 2:50:08 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
28842
Message:

VMMDev: added VMMDEV_GUEST_SUPPORTS_GRAPHICS capability, enabled by default, to distinguish cases where the guest additions are loaded but graphics are not supported

Location:
trunk/src/VBox/Main
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/GuestImpl.cpp

    r5999 r7409  
    172172}
    173173
     174STDMETHODIMP Guest::COMGETTER(SupportsGraphics) (BOOL *aSupportsGraphics)
     175{
     176    if (!aSupportsGraphics)
     177        return E_POINTER;
     178
     179    AutoCaller autoCaller (this);
     180    CheckComRCReturnRC (autoCaller.rc());
     181
     182    AutoReaderLock alock (this);
     183
     184    *aSupportsGraphics = mData.mSupportsGraphics;
     185
     186    return S_OK;
     187}
     188
    174189STDMETHODIMP Guest::COMGETTER(MemoryBalloonSize) (ULONG *aMemoryBalloonSize)
    175190{
     
    327342    mData.mSupportsSeamless = aSupportsSeamless;
    328343}
     344
     345void Guest::setSupportsGraphics (BOOL aSupportsGraphics)
     346{
     347    AutoCaller autoCaller (this);
     348    AssertComRCReturnVoid (autoCaller.rc());
     349
     350    AutoLock alock (this);
     351
     352    mData.mSupportsGraphics = aSupportsGraphics;
     353}
  • trunk/src/VBox/Main/VMMDevInterface.cpp

    r6955 r7409  
    202202        return;
    203203
    204     Assert(!(newCapabilities & ~VMMDEV_GUEST_SUPPORTS_SEAMLESS));
    205 
    206204    guest->setSupportsSeamless(BOOL (newCapabilities & VMMDEV_GUEST_SUPPORTS_SEAMLESS));
     205    guest->setSupportsGraphics(BOOL (newCapabilities & VMMDEV_GUEST_SUPPORTS_GRAPHICS));
    207206
    208207    /*
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r7350 r7409  
    51395139  <interface
    51405140     name="IGuest" extends="$unknown"
    5141      uuid="c101f037-b03d-4bd4-bd25-381123980be2"
     5141     uuid="d8556fca-81bc-12af-fca3-365528fa38ca"
     5142
    51425143     wsmap="suppress"
    51435144     >
     
    51885189        Flag whether seamless guest display rendering (seamless desktop
    51895190        integration) is supported.
     5191      </desc>
     5192    </attribute>
     5193
     5194    <attribute name="supportsGraphics" type="boolean" readonly="yes">
     5195      <desc>
     5196        Flag whether the guest is in graphics mode.  If it is not, then
     5197        seamless rendering will not work, resize hints are not immediately
     5198        acted on and guest display resizes are probably not initiated by
     5199        the guest additions.
    51905200      </desc>
    51915201    </attribute>
  • trunk/src/VBox/Main/include/GuestImpl.h

    r5999 r7409  
    5858    STDMETHOD(COMGETTER(AdditionsVersion)) (BSTR *aAdditionsVersion);
    5959    STDMETHOD(COMGETTER(SupportsSeamless)) (BOOL *aSupportsSeamless);
     60    STDMETHOD(COMGETTER(SupportsGraphics)) (BOOL *aSupportsGraphics);
    6061    STDMETHOD(COMGETTER(MemoryBalloonSize)) (ULONG *aMemoryBalloonSize);
    6162    STDMETHOD(COMSETTER(MemoryBalloonSize)) (ULONG aMemoryBalloonSize);
     
    7374    void setSupportsSeamless (BOOL aSupportsSeamless);
    7475
     76    void setSupportsGraphics (BOOL aSupportsGraphics);
     77
    7578    STDMETHOD(SetStatistic)(ULONG aCpuId, GuestStatisticType_T aStatistic, ULONG aStatVal);
    7679
     
    8285    struct Data
    8386    {
    84         Data() : mAdditionsActive (FALSE), mSupportsSeamless (FALSE) {}
     87        Data() : mAdditionsActive (FALSE), mSupportsSeamless (FALSE),
     88                  /* Windows and OS/2 guests take this for granted */
     89                 mSupportsGraphics (TRUE) {}
    8590
    8691        Bstr  mOSTypeId;
     
    8893        Bstr  mAdditionsVersion;
    8994        BOOL  mSupportsSeamless;
     95        BOOL  mSupportsGraphics;
    9096    };
    9197
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