[Deinterlace-checkins] CVS: DScaler/DScaler Other.cpp,1.68,1.69
Brought to you by:
adcockj,
dschmelzer
From: John A. <ad...@us...> - 2004-05-06 15:00:55
|
Update of /cvsroot/deinterlace/DScaler/DScaler In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13255/DScaler Modified Files: Other.cpp Log Message: Fix for errors on ctrl-alt-delete (Bug-947656) Index: Other.cpp =================================================================== RCS file: /cvsroot/deinterlace/DScaler/DScaler/Other.cpp,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -r1.68 -r1.69 *** Other.cpp 2 May 2004 14:09:32 -0000 1.68 --- Other.cpp 6 May 2004 15:00:43 -0000 1.69 *************** *** 56,59 **** --- 56,62 ---- // // $Log$ + // Revision 1.69 2004/05/06 15:00:43 adcockj + // Fix for errors on ctrl-alt-delete (Bug-947656) + // // Revision 1.68 2004/05/02 14:09:32 atnak // Fixed possible problem of overlay colour getting dithered with < 32bit colour *************** *** 761,765 **** { HRESULT ddrval = pDDColorControl->SetColorControls(&OriginalColorControls); ! if (FAILED(ddrval)) { char szErrorMsg[200]; --- 764,770 ---- { HRESULT ddrval = pDDColorControl->SetColorControls(&OriginalColorControls); ! // if we have lost the surface e.g Ctrl-alt-del ! // just carry on ! if(ddrval != DDERR_SURFACELOST && FAILED(ddrval)) { char szErrorMsg[200]; *************** *** 868,871 **** --- 873,885 ---- SurfaceDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; ddrval = lpDD->CreateSurface(&SurfaceDesc, &lpDDSurface, NULL); + + // handle the case where we are in a funny in between state + // by looping, this happens sometimes with Ctrl-alt-delete on + // some graphics cards. + while(ddrval == DDERR_UNSUPPORTEDMODE) + { + Sleep(100); + ddrval = lpDD->CreateSurface(&SurfaceDesc, &lpDDSurface, NULL); + } if (FAILED(ddrval)) { |