@@ -350,21 +350,22 @@ void CRenderDevice::message_loop()
350350 case SDL_WINDOWEVENT_MOVED:
351351 UpdateWindowRect ();
352352 break ;
353- /* case SDL_WINDOWEVENT_RESIZED:
354- string32 buff;
355- xr_sprintf(buff, sizeof(buff), "vid_mode %dx%d", event.window.data1, event.window.data2);
356- Console->Execute(buff);
357- [[fallthrough]];*/
358-
359- case SDL_WINDOWEVENT_EXPOSED:
360- Reset (true );
361- break ;
362353
363354 case SDL_WINDOWEVENT_RESIZED:
364355 case SDL_WINDOWEVENT_SIZE_CHANGED:
365- UpdateWindowRect ();
366- OnWM_Activate (1 , event.window .data2 );
356+ {
357+ if (!psDeviceFlags.is (rsFullscreen))
358+ {
359+ string32 buff;
360+ xr_sprintf (buff, sizeof (buff), " vid_mode %dx%d" , event.window .data1 , event.window .data2 );
361+ Console->Execute (buff);
362+ Reset ();
363+ }
364+ else
365+ UpdateWindowRect ();
366+
367367 break ;
368+ }
368369
369370 case SDL_WINDOWEVENT_SHOWN:
370371 case SDL_WINDOWEVENT_ENTER:
@@ -389,6 +390,7 @@ void CRenderDevice::message_loop()
389390 }
390391
391392 on_idle ();
393+ SDL_PumpEvents ();
392394 }
393395}
394396
@@ -416,6 +418,7 @@ void CRenderDevice::Run()
416418 seqAppStart.Process ();
417419 GEnv.Render ->ClearTarget ();
418420 splash::hide ();
421+ SDL_FlushEvents (SDL_WINDOWEVENT, SDL_SYSWMEVENT);
419422 SDL_ShowWindow (m_sdlWnd);
420423 SDL_RaiseWindow (m_sdlWnd);
421424 pInput->ClipCursor (true );
0 commit comments