From 1df5903f9a4889ef5059438ce3050eacf5f1d90a Mon Sep 17 00:00:00 2001 From: David Reveman Date: Thu, 16 Oct 2008 11:32:36 -0400 Subject: [PATCH] Release all pressed keys and buttons when device is disabled. --- hw/dmx/dmxinput.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/dmx/dmxinput.c b/hw/dmx/dmxinput.c index ff76f24b4..6066f1cb0 100644 --- a/hw/dmx/dmxinput.c +++ b/hw/dmx/dmxinput.c @@ -1780,13 +1780,21 @@ dmxInputEnable (DMXInputInfo *dmxInput) int dmxInputDisable (DMXInputInfo *dmxInput) { - int i; + char state[32]; + int i; + + memset (state, 0, sizeof (state)); for (i = 0; i < dmxInput->numDevs; i++) { dmxLogInput (dmxInput, "Disable device id %d: %s\n", dmxInput->devs[i]->id, dmxInput->devs[i]->name); + if (dmxInput->devs[i]->key) + dmxUpdateKeyState (dmxInput->devs[i], state); + else if (dmxInput->devs[i]->button) + dmxUpdateButtonState (dmxInput->devs[i], state); + DisableDevice (dmxInput->devs[i]); }