diff options
author | marha <marha@users.sourceforge.net> | 2013-11-04 12:08:23 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-11-04 12:08:23 +0100 |
commit | 31fd4c5654595a4763e492e4ec26f66ca3a8a405 (patch) | |
tree | 8d6b249c93725e838676e26af171a167f6f20903 /xorg-server/hw/xfree86/common/xf86Events.c | |
parent | e4ef724e06621be9325fc41ed886fd404467fdc0 (diff) | |
download | vcxsrv-31fd4c5654595a4763e492e4ec26f66ca3a8a405.tar.gz vcxsrv-31fd4c5654595a4763e492e4ec26f66ca3a8a405.tar.bz2 vcxsrv-31fd4c5654595a4763e492e4ec26f66ca3a8a405.zip |
libxtrans fontconfig mesa xserver pixman xkbcomp git update 4 nov 2013
xserver commit 33c85beed521c9db140cadd8c5aa9992398ee1fe
xkbcomp commit e3e6e938535532bfad175c1635256ab7fb3ac943
pixman commit 8cbc7da4e525c96a8e089e4c1baee75dc8315218
libxtrans commit 1fb0fd555a16dd8fce4abc6d3fd22b315f46762a
fontconfig commit 767108aa1327cf0156dfc6f024dbc8fb783ae067
mesa commit 2f896627175384fd5943f21804700a155ba4e8a0
Diffstat (limited to 'xorg-server/hw/xfree86/common/xf86Events.c')
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86Events.c | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86Events.c b/xorg-server/hw/xfree86/common/xf86Events.c index 7a949fd74..d0b14314b 100644 --- a/xorg-server/hw/xfree86/common/xf86Events.c +++ b/xorg-server/hw/xfree86/common/xf86Events.c @@ -116,6 +116,7 @@ typedef struct x_IHRec { InputHandlerProc ihproc; pointer data; Bool enabled; + Bool is_input; struct x_IHRec *next; } IHRec, *IHPtr; @@ -446,8 +447,12 @@ xf86VTSwitch(void) * Keep the order: Disable Device > LeaveVT * EnterVT > EnableDevice */ - for (ih = InputHandlers; ih; ih = ih->next) - xf86DisableInputHandler(ih); + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86DisableInputHandler(ih); + else + xf86DisableGeneralHandler(ih); + } for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next) { if (pInfo->dev) { if (!pInfo->dev->enabled) @@ -496,9 +501,12 @@ xf86VTSwitch(void) pInfo->flags &= ~XI86_DEVICE_DISABLED; pInfo = pInfo->next; } - for (ih = InputHandlers; ih; ih = ih->next) - xf86EnableInputHandler(ih); - + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86EnableInputHandler(ih); + else + xf86EnableGeneralHandler(ih); + } OsReleaseSIGIO(); } @@ -558,9 +566,12 @@ xf86VTSwitch(void) pInfo = pInfo->next; } - for (ih = InputHandlers; ih; ih = ih->next) - xf86EnableInputHandler(ih); - + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86EnableInputHandler(ih); + else + xf86EnableGeneralHandler(ih); + } #ifdef XSERVER_PLATFORM_BUS /* check for any new output devices */ xf86platformVTProbe(); @@ -600,8 +611,10 @@ xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data) { IHPtr ih = addInputHandler(fd, proc, data); - if (ih) + if (ih) { AddEnabledDevice(fd); + ih->is_input = TRUE; + } return ih; } |