summaryrefslogtreecommitdiff
path: root/Xi
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-06-09 17:10:57 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-11-12 11:48:28 +1000
commit5cd11d2356d153840f1b429bdb8284367f8dc468 (patch)
tree3df9b42796537cdcb8a543dd123592bd6256fba3 /Xi
parentda66119593b63ef82ae6fa2e034ccd0856b03a80 (diff)
Xi: move property reset from extension shutdown to init.
If any part of the stack calls XIGetKnownProperty during device shutdown the property is re-initialized before the server generation resets, leaving the value invalid again. Move the reset to the extension init which happens before input devices are initialized before the first property is requested. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Julien Cristau <jcristau@debian.org>
Diffstat (limited to 'Xi')
-rw-r--r--Xi/extinit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Xi/extinit.c b/Xi/extinit.c
index 7edadeaf2..546ccb42e 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -1120,8 +1120,6 @@ RestoreExtensionEvents(void)
static void
IResetProc(ExtensionEntry * unused)
{
- XIResetProperties();
-
ReplySwapVector[IReqCode] = ReplyNotSwappd;
EventSwapVector[DeviceValuator] = NotImplemented;
EventSwapVector[DeviceKeyPress] = NotImplemented;
@@ -1301,6 +1299,8 @@ XInputExtensionInit(void)
inputInfo.all_devices = &xi_all_devices;
inputInfo.all_master_devices = &xi_all_master_devices;
+
+ XIResetProperties();
} else {
FatalError("IExtensionInit: AddExtensions failed\n");
}