diff --git a/engine/client/in_win.c b/engine/client/in_win.c index c00de0520..2c1908bef 100644 --- a/engine/client/in_win.c +++ b/engine/client/in_win.c @@ -605,9 +605,11 @@ void IN_UpdateGrabs(int fullscreen, int activeapp) { int grabmouse; - if (fullscreen) + if (!activeapp) + grabmouse = false; + else if (fullscreen) grabmouse = true; - else if (activeapp && _windowed_mouse.value) + else if (_windowed_mouse.value) { if (!Key_MouseShouldBeFree()) grabmouse = true; @@ -1739,7 +1741,7 @@ void IN_MouseMove (float *movements, int pnum) #ifdef USINGRAWINPUT if (rawmicecount) { - if (in_rawinput_combine.value && pnum == 0) + if ((in_rawinput_combine.value && pnum == 0) || cl.splitclients <= 1) { // not the right way to do this but it'll work for now int x;