summaryrefslogtreecommitdiff
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
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>
-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");
}