xserver/Xi
Alexander Volkov f4c3cac010 Xi: call UpdateDeviceState() even when the client is missing
The client window can be closed in the middle of a touch sequence,
e.g. Qt 4 closes popup windows on MousePress and Qt 5.5 will do it
on TouchBegin. In this case the state of mouse buttons will not be
updated on TouchEnd because ProcessTouchEvent() calls UpdateDeviceState()
only when the event has been sent to the client. It results in a
stuck left mouse button.

This patch leads to calling UpdateDeviceState() in case the client
can't be found.

Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-06-18 07:30:39 +10:00
..
Makefile.am Build Xi/stubs.c once as a convenience library, rather than once for each DDX which wants to use it 2014-03-27 14:09:43 +00:00
allowev.c
allowev.h
chgdctl.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
chgdctl.h
chgfctl.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
chgfctl.h
chgkbd.c
chgkbd.h
chgkmap.c
chgkmap.h
chgprop.c
chgprop.h
chgptr.c
chgptr.h
closedev.c
closedev.h
devbell.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
devbell.h
exevents.c Xi: call UpdateDeviceState() even when the client is missing 2015-06-18 07:30:39 +10:00
exglobals.h
extinit.c input: un-constify dev->name 2014-02-04 11:27:48 +10:00
getbmap.c
getbmap.h
getdctl.c
getdctl.h
getfctl.c
getfctl.h
getfocus.c
getfocus.h
getkmap.c
getkmap.h
getmmap.c
getmmap.h
getprop.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
getprop.h
getselev.c
getselev.h
getvers.c
getvers.h
grabdev.c Xi: Use 'void *' instead of 'Pointer' (which is going away) 2014-01-22 19:56:31 -08:00
grabdev.h
grabdevb.c Use C99 designated initializers in extension Events 2012-07-09 22:52:30 -07:00
grabdevb.h
grabdevk.c Use C99 designated initializers in extension Events 2012-07-09 22:52:30 -07:00
grabdevk.h
gtmotion.c Fix formatting of address operators 2012-12-05 18:09:48 -06:00
gtmotion.h
listdev.c Xi: remove superfluous cast. 2014-02-04 10:53:59 +10:00
listdev.h
opendev.c
opendev.h
queryst.c
queryst.h
selectev.c
selectev.h
sendexev.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
sendexev.h
setbmap.c
setbmap.h
setdval.c Xi: always return BadMatch for XTest devices ChangeDeviceControl requests 2013-05-07 09:40:44 +10:00
setdval.h
setfocus.c
setfocus.h
setmmap.c
setmmap.h
setmode.c Xi: always return BadMatch for XTest devices ChangeDeviceControl requests 2013-05-07 09:40:44 +10:00
setmode.h
stubs.c
ungrdev.c
ungrdev.h
ungrdevb.c dix: AllocGrab can copy if an argument is passed in 2013-05-10 14:32:37 +10:00
ungrdevb.h
ungrdevk.c dix: AllocGrab can copy if an argument is passed in 2013-05-10 14:32:37 +10:00
ungrdevk.h
xiallowev.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xiallowev.h
xibarriers.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xibarriers.h Xi: free barrier code at reset time 2013-05-07 09:41:19 +10:00
xichangecursor.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xichangecursor.h
xichangehierarchy.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xichangehierarchy.h
xigetclientpointer.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xigetclientpointer.h
xigrabdev.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xigrabdev.h
xipassivegrab.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xipassivegrab.h
xiproperty.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
xiproperty.h
xiquerydevice.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xiquerydevice.h
xiquerypointer.c Let calloc handle multiplication 2015-04-21 16:57:07 -07:00
xiquerypointer.h
xiqueryversion.c Xi: Clamp XIClient maximal version to XIVersion 2013-08-01 14:51:41 +10:00
xiqueryversion.h
xiselectev.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xiselectev.h
xisetclientpointer.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xisetclientpointer.h
xisetdevfocus.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xisetdevfocus.h
xiwarppointer.c Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08:00
xiwarppointer.h