Skip to content

Commit c2984ce

Browse files
committed
xrEngine: fix inactive render
1 parent fc67c11 commit c2984ce

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/xrEngine/device.cpp

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -346,31 +346,41 @@ void CRenderDevice::message_loop()
346346
switch (event.window.event)
347347
{
348348
case SDL_WINDOWEVENT_MOVED:
349-
case SDL_WINDOWEVENT_SIZE_CHANGED:
350-
case SDL_WINDOWEVENT_MAXIMIZED:
351349
SDL_Log("Window %d moved to %d,%d", event.window.windowID, event.window.data1, event.window.data2);
352350
continue;
351+
case SDL_WINDOWEVENT_SIZE_CHANGED:
352+
SDL_Log("Window %d resized to %d,%d", event.window.windowID, event.window.data1, event.window.data2);
353+
continue;
353354
case SDL_WINDOWEVENT_CLOSE:
354355
event.type = SDL_QUIT;
355356
SDL_PeepEvents(&event, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT);
356357
continue;
357358
#if SDL_VERSION_ATLEAST(2, 0, 5)
358359
case SDL_WINDOWEVENT_SHOWN:
359-
case SDL_WINDOWEVENT_EXPOSED:
360-
// case SDL_WINDOWEVENT_TAKE_FOCUS:
360+
case SDL_WINDOWEVENT_FOCUS_GAINED:
361361
if (editor())
362362
{
363363
Device.b_is_Active = TRUE;
364364
continue;
365365
}
366-
OnWM_Activate(event.window.data1, event.window.data2);
366+
OnWM_Activate(1, event.window.data2);
367367
SDL_Log("Window %d is offered a focus", event.window.windowID);
368368
continue;
369+
case SDL_WINDOWEVENT_HIDDEN:
370+
case SDL_WINDOWEVENT_FOCUS_LOST:
371+
OnWM_Activate(0, event.window.data2);
372+
SDL_Log("Window %d is lost a focus", event.window.windowID);
373+
continue;
369374
#endif
370-
default: SDL_Log("Window %d got unknown event %d", event.window.windowID, event.window.event); continue;
375+
default:
376+
SDL_Log("Window %d got unknown event %d with %d %d", event.window.windowID, event.window.event,
377+
event.window.data1, event.window.data2);
378+
continue;
371379
}
372380
continue;
373-
default: Log("Recieve window %d event", event.type); continue;
381+
default:
382+
SDL_Log("Window event %d to %d,%d", event.type, event.window.data1, event.window.data2);
383+
continue;
374384
}
375385
}
376386

@@ -528,10 +538,8 @@ void CRenderDevice::Pause(BOOL bOn, BOOL bTimer, BOOL bSound, LPCSTR reason)
528538
BOOL CRenderDevice::Paused() { return g_pauseMngr().Paused(); }
529539
void CRenderDevice::OnWM_Activate(WPARAM wParam, LPARAM /*lParam*/)
530540
{
531-
u16 fActive = LOWORD(wParam);
532-
const BOOL fMinimized = (BOOL)HIWORD(wParam);
541+
const BOOL isWndActive = (1 == wParam) ? TRUE : FALSE;
533542

534-
const BOOL isWndActive = (fActive != WA_INACTIVE && (!fMinimized)) ? TRUE : FALSE;
535543
if (!editor() && !GEnv.isDedicatedServer && isWndActive)
536544
pInput->ClipCursor(true);
537545
else

0 commit comments

Comments
 (0)