mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
fix init fullscrn hang problem
This commit is contained in:
parent
f9ad6abadb
commit
7a33acfa3b
@ -2022,11 +2022,16 @@ CreateScreenBuffersAndDevice(DXScreenData &Display) {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
DX_DECLARE_CLEAN(DDCAPS,DDCaps);
|
||||
pDD->GetCaps(&DDCaps,NULL);
|
||||
|
||||
// if window is not foreground in exclusive mode, ddraw thinks you are 'not active', so
|
||||
// it changes your WM_ACTIVATEAPP from true to false, causing us
|
||||
// to go into a 'wait-for WM_ACTIVATEAPP true' loop, and the event never comes so we hang
|
||||
// in fullscreen wait.
|
||||
|
||||
SetForegroundWindow(Display.hWnd);
|
||||
|
||||
if(dx_full_screen) {
|
||||
// Setup to create the primary surface w/backbuffer
|
||||
DX_DECLARE_CLEAN(DDSURFACEDESC2,ddsd)
|
||||
|
@ -2434,7 +2434,14 @@ CreateScreenBuffersAndDevice(DXScreenData &Display) {
|
||||
assert(pPresParams->SwapEffect == D3DSWAPEFFECT_DISCARD); // only valid effect for multisample
|
||||
#endif
|
||||
|
||||
ClearToBlack(GetDesktopWindow(),_props);
|
||||
|
||||
// if window is not foreground in exclusive mode, ddraw thinks you are 'not active', so
|
||||
// it changes your WM_ACTIVATEAPP from true to false, causing us
|
||||
// to go into a 'wait-for WM_ACTIVATEAPP true' loop, and the event never comes so we hang
|
||||
// in fullscreen wait.
|
||||
|
||||
SetForegroundWindow(Display.hWnd);
|
||||
ClearToBlack(Display.hWnd,_props);
|
||||
|
||||
hr = pD3D8->CreateDevice(Display.CardIDNum, D3DDEVTYPE_HAL, _pParentWindowGroup->_hParentWindow,
|
||||
dwBehaviorFlags, pPresParams, &Display.pD3DDevice);
|
||||
|
Loading…
x
Reference in New Issue
Block a user