diff --git a/nq/source/cl_parse.c b/nq/source/cl_parse.c index 9fa8b1d37..6fd998685 100644 --- a/nq/source/cl_parse.c +++ b/nq/source/cl_parse.c @@ -982,10 +982,15 @@ CL_ParseServerMessage (void) MSG_ReadAngleV (net_message, dest); break; } - case svc_serverinfo: + // make sure any stuffed commands are done + if (stuffbuf && stuffbuf->str[0]) { + Cbuf_AddText (host_cbuf, stuffbuf->str); + dstring_clearstr (stuffbuf); + } + Cbuf_Execute_Stack (host_cbuf); CL_ParseServerInfo (); - // leave intermission full screen + // leave full screen intermission r_data->vid->recalc_refdef = true; break; diff --git a/qw/source/cl_parse.c b/qw/source/cl_parse.c index 06ee8efce..fca097dc7 100644 --- a/qw/source/cl_parse.c +++ b/qw/source/cl_parse.c @@ -1431,6 +1431,10 @@ CL_ParseServerMessage (void) } case svc_serverdata: // make sure any stuffed commands are done + if (stuffbuf && stuffbuf->str[0]) { + Cbuf_AddText (cl_stbuf, stuffbuf->str); + dstring_clearstr (stuffbuf); + } Cbuf_Execute_Stack (cl_stbuf); CL_ParseServerData (); // leave full screen intermission