Between event sending, exit event_process if front window is different, fixing netgame joining problem introduced with commit on 20100731

This commit is contained in:
kreatordxx 2010-08-06 06:49:45 +00:00
parent 9f25721f8a
commit afb0c08a1e
2 changed files with 13 additions and 1 deletions

View file

@ -1,5 +1,9 @@
D2X-Rebirth Changelog
20100806
--------
arch/sdl/event.c: Between event sending, exit event_process if front window is different, fixing netgame joining problem introduced with commit on 20100731
20100803
--------
main/hud.c: When updating redundant HUD messages check the for-loop not the start with a negative number - causes too long message display and negative array index

View file

@ -109,10 +109,15 @@ int call_default_handler(d_event *event)
void event_process(void)
{
d_event event;
window *wind;
window *wind = window_get_front();
event_poll(); // send input events first
// Doing this prevents problems when an idle event can create a newmenu,
// such as some network menus when they report a problem
if (window_get_front() != wind)
return;
event.type = EVENT_IDLE;
if ((wind = window_get_front()))
{
@ -122,6 +127,9 @@ void event_process(void)
else
call_default_handler(&event);
if (window_get_front() != wind)
return;
event.type = EVENT_WINDOW_DRAW; // then draw all visible windows
for (wind = window_get_first(); wind != NULL; wind = window_get_next(wind))
if (window_is_visible(wind))