Changeset 22852 in vbox
- Timestamp:
- Sep 9, 2009 12:09:13 AM (15 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/include/VBoxFBOverlay.h
r22846 r22852 573 573 574 574 const VBoxVHWADirtyRect & getDirtyRect() { return mUpdateMem2TexRect; } 575 576 575 private: 577 576 void doSetRectValuesInternal(const QRect & aTargRect, const QRect & aSrcRect, const QRect & aVisTargRect); … … 1062 1061 const QRect & vboxViewport() const {return mViewport;} 1063 1062 1064 bool performDisplay(bool bForce) { return mDisplay.performDisplay(bForce); } 1063 bool performDisplayAndSwap(bool bForce) 1064 { 1065 bForce = mDisplay.performDisplay(bForce | mRepaintNeeded); 1066 if(bForce) 1067 { 1068 swapBuffers(); 1069 } 1070 return bForce; 1071 } 1065 1072 protected: 1066 1073 … … 1150 1157 ulong mPixelFormat; 1151 1158 bool mUsesGuestVRAM; 1159 1160 bool mRepaintNeeded; 1161 1152 1162 // bool mbVGASurfCreated; 1153 1163 QRect mViewport; … … 1259 1269 #else 1260 1270 makeCurrent(); 1261 mpOverlayWidget->performDisplay(false); 1262 mpOverlayWidget->swapBuffers(); 1271 mpOverlayWidget->performDisplayAndSwap(false); 1263 1272 #endif 1264 1273 } -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
r22846 r22852 2941 2941 mPixelFormat(0), 2942 2942 mUsesGuestVRAM(false), 2943 mRepaintNeeded(false), 2943 2944 // mbVGASurfCreated(false), 2944 2945 mView(aView), … … 3524 3525 } 3525 3526 } 3527 3528 /* just in case we destroy a visible overlay sorface */ 3529 mRepaintNeeded = true; 3526 3530 3527 3531 void * test = mSurfHandleTable.remove(pCmd->u.in.hSurf); … … 3619 3623 pTargSurf->getComplexList()->setCurrentVisible(pTargSurf); 3620 3624 3625 mRepaintNeeded = true; 3621 3626 #ifdef DEBUG 3622 3627 pCurrSurf->cFlipsCurr++; … … 3794 3799 } 3795 3800 3801 mRepaintNeeded = true; 3802 3796 3803 return VINF_SUCCESS; 3797 3804 } … … 3812 3819 QPoint pos(pCmd->u.in.xPos, pCmd->u.in.yPos); 3813 3820 3821 #ifdef DEBUG_misha 3822 Assert(pDstSurf == mDisplay.getVGA()); 3823 Assert(mDisplay.getVGA() == mDisplay.getPrimary()); 3824 #endif 3825 if(pSrcSurf->getComplexList()->current() != NULL) 3826 { 3827 Assert(pDstSurf); 3828 if(pDstSurf != mDisplay.getPrimary()) 3829 { 3830 mDisplay.updateVGA(pDstSurf); 3831 pDstSurf->getComplexList()->setCurrentVisible(pDstSurf); 3832 } 3833 } 3834 3835 mRepaintNeeded = true; 3836 3814 3837 for (SurfList::const_iterator it = surfaces.begin(); 3815 3838 it != surfaces.end(); ++ it) … … 3829 3852 3830 3853 vboxCheckUpdateAddress (pSurf, pCmd->u.in.offSurface); 3854 3855 mRepaintNeeded = true; 3831 3856 3832 3857 // VBOXVHWA_CKEY_COLORSPACE … … 5474 5499 VBOXVHWACMD_SURF_UNLOCK * pBody = VBOXVHWACMD_BODY(pCmd, VBOXVHWACMD_SURF_UNLOCK); 5475 5500 pCmd->rc = vhwaSurfaceUnlock(pBody); 5501 /* mNeedOverlayRepaint is set inside the vhwaSurfaceUnlock */ 5476 5502 } break; 5477 5503 case VBOXVHWACMD_TYPE_SURF_BLT: … … 5515 5541 VBOXVHWACMD_SURF_COLORKEY_SET * pBody = VBOXVHWACMD_BODY(pCmd, VBOXVHWACMD_SURF_COLORKEY_SET); 5516 5542 pCmd->rc = mpOverlayWidget->vhwaSurfaceColorkeySet(pBody); 5543 mNeedOverlayRepaint = true; 5517 5544 } break; 5518 5545 case VBOXVHWACMD_TYPE_QUERY_INFO1: -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBQGL.cpp
r22846 r22852 130 130 } 131 131 132 pw->performDisplay(true); 133 134 pw->swapBuffers(); 132 pw->performDisplayAndSwap(true); 135 133 } 136 134
Note:
See TracChangeset
for help on using the changeset viewer.