VirtualBox

Changeset 24028 in vbox for trunk


Ignore:
Timestamp:
Oct 23, 2009 12:27:20 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53873
Message:

2d accel: guest driver fix for overlay surfaces not marked as visible

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Display
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/dd.c

    r22920 r24028  
    675675                        uint32_t surfSizeY = pBody->SurfInfo.sizeY;
    676676                    pDesc->hHostHandle = pBody->SurfInfo.hSurf;
     677                    if(!!(lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
     678                                && !!(lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_VISIBLE))
     679                    {
     680                        pDesc->bVisible = true;
     681                    }
    677682                    lpSurfaceGlobal->dwReserved1 = (ULONG_PTR)pDesc;
    678683                    lPitch = pBody->SurfInfo.pitch;
     
    11831188        if(lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_VISIBLE
    11841189                || (
    1185                         !(lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_COMPLEX)
    1186                         && (
    1187                                 lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE
    1188                                 || (
    1189                                         (lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
    1190                                         && !pDesc->bHidden
    1191                                     )
     1190                        lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE
     1191                        || (
     1192                                !!(lpSurfaceLocal->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
     1193                                && pDesc->bVisible
    11921194                           )
    11931195                   )
     
    17241726    DISPDBG((0, "%s\n", __FUNCTION__));
    17251727
    1726     if(pSrcDesc->bHidden)
     1728    if(!pSrcDesc->bVisible)
    17271729    {
    17281730        lpSetOverlayPosition->ddRVal = DDERR_GENERIC;
     
    17651767    DISPDBG((0, "%s\n", __FUNCTION__));
    17661768
    1767 //    if(pSrcDesc->bHidden)
     1769//    if(!pSrcDesc->bVisible)
    17681770//    {
    17691771//        lpUpdateOverlay->ddRVal = DDERR_GENERIC;
     
    17911793        if(lpUpdateOverlay->dwFlags & DDOVER_HIDE)
    17921794        {
    1793             pSrcDesc->bHidden = true;
     1795            pSrcDesc->bVisible = false;
    17941796        }
    17951797        else if(lpUpdateOverlay->dwFlags & DDOVER_SHOW)
    17961798        {
    1797             pSrcDesc->bHidden = false;
     1799            pSrcDesc->bVisible = true;
    17981800            if(pSrcDesc->UpdatedMemRegion.bValid)
    17991801            {
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h

    r22548 r24028  
    116116#endif
    117117//    uint32_t cBitsPerPixel;
    118     bool bHidden;
     118    bool bVisible;
    119119    VBOXVHWAREGION UpdatedMemRegion;
    120120    VBOXVHWAREGION NonupdatedMemRegion;
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