[Bug 3420] VM_Call with NULL vm in missionpack single player

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Thu Nov 22 19:50:27 EST 2007


http://bugzilla.icculus.org/show_bug.cgi?id=3420


tim at ngus.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #11 from tim at ngus.net  2007-11-22 19:50 EDT -------
OK, this is actually quite a complex bug. The /real/ bug here, I think, is that
the team arena UI kills the server after a game has finished (with or without
the r1135 changes). This causes the client to get the state CA_DISCONNECTED.

Just before the new server is started up, the client sees this change of state
and tries to force the UI module back to the main menu while the commands to
get to the new map are still in the buffer. This happens via _UI_SetActiveMenu(
UIMENU_MAIN );. Now this (correctly) sets sv_killserver which is intended to
stop the running server when returning to the main menu. The "map" command
kicks in, and the server starts, then stops immediately since sv_killserver is
set, and it crashes.

Now, you could blame the fact that _UI_SetActiveMenu( UIMENU_MAIN ) is being
called, but it SHOULD be for the client's state, so I think the real bug is
that the initial server is killed prematurely. I tried to fix it by not killing
the server, but this causes a lot of knock on problems with the Team Areana
server start up code. Team Arena was developed under time pressure to get it
out before Christmas so you can't criticise too much, but as a general
statement the single player code is quite a mess.

So... what I've done instead could be considered a little bit hacky, but it
also makes sense. r1216 ignores sv_killserver if there is no server running
when its state was changed. This neutralises the server kill in the UIMENU_MAIN
case thus preventing the crash. If someone has the time and inclination it
could be fixed properly, but I'm not sure it's really worth the effort to be
honest.


-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the quake3-bugzilla mailing list