Otherwise the output buffer will be accessed from different threads and cause all sorts of nasty and painful memory corruptions.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99164 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99887 Signed-off-by: Olivier Fourdan <[email protected]> --- Xi/xiproperty.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c index b7a1f59..a68b4b3 100644 --- a/Xi/xiproperty.c +++ b/Xi/xiproperty.c @@ -203,10 +203,12 @@ send_property_event(DeviceIntPtr dev, Atom property, int what) .what = what }; + input_lock(); SendEventToAllWindows(dev, DevicePropertyNotifyMask, (xEvent *) &event, 1); SendEventToAllWindows(dev, GetEventFilter(dev, (xEvent *) &xi2), (xEvent *) &xi2, 1); + input_unlock(); } static int -- 2.9.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
