From 5d703c1f3ec32797e03e0dce7d55adebb12eb097 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Sat, 19 Jan 2013 22:33:34 +0900 Subject: [PATCH] First stab at keydest sanitization --- nq/include/client.h | 1 + nq/source/cl_demo.c | 1 + nq/source/cl_main.c | 7 ++++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nq/include/client.h b/nq/include/client.h index e3f053016..a00b94890 100644 --- a/nq/include/client.h +++ b/nq/include/client.h @@ -91,6 +91,7 @@ typedef struct { // connection information cactive_t state; signon_t signon; + keydest_t key_dest; // network stuff struct qsocket_s *netcon; diff --git a/nq/source/cl_demo.c b/nq/source/cl_demo.c index 03950998a..b15747467 100644 --- a/nq/source/cl_demo.c +++ b/nq/source/cl_demo.c @@ -478,6 +478,7 @@ CL_StartDemo (void) cls.demoplayback = true; CL_SetState (ca_connected); cls.forcetrack = 0; + cls.key_dest = key_demo; Key_SetKeyDest (key_demo); while ((c = Qgetc (cls.demofile)) != '\n') diff --git a/nq/source/cl_main.c b/nq/source/cl_main.c index 1bb8ffeb8..14bd9637e 100644 --- a/nq/source/cl_main.c +++ b/nq/source/cl_main.c @@ -323,7 +323,7 @@ CL_EstablishConnection (const char *host) cls.demonum = -1; // not in the demo loop now CL_SetState (ca_connected); - Key_SetKeyDest (key_game); + Key_SetKeyDest (cls.key_dest); } /* @@ -514,14 +514,14 @@ CL_SetState (cactive_t state) cls.signon = so_none; // need all the signon messages // before playing cl.loading = true; - Key_SetKeyDest (key_game); + Key_SetKeyDest (cls.key_dest); IN_ClearStates (); VID_SetCaption ("Connected"); break; case ca_active: // entering active state cl.loading = false; - Key_SetKeyDest (key_game); + Key_SetKeyDest (cls.key_dest); IN_ClearStates (); VID_SetCaption (""); S_AmbientOn (); @@ -583,5 +583,6 @@ CL_Init (cbuf_t *cbuf) "to be level"); SZ_Alloc (&cls.message, 1024); + cls.key_dest = key_game; CL_SetState (ca_disconnected); }