summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* man/XGrabDeviceButton.txt: Fix bad .P -> paragraph break conversionAlan Coopersmith2020-10-041-8/+9
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Fix typos in manual pagesSamanta Navarro2020-10-045-10/+10
|
* libXi 1.7.10libXi-1.7.10Matt Turner2019-06-191-1/+1
| | | | Signed-off-by: Matt Turner <mattst88@gmail.com>
* Replace open-coded FP3232_TO_DOUBLEMatt Turner2019-06-191-2/+1
| | | | Signed-off-by: Matt Turner <mattst88@gmail.com>
* Fix the FIXME in XIValuatorClass case of copy_classes function in XExtInt.cAlexander Bersenev2019-06-171-6/+5
| | | | | | | | | | | In addition fix FP3232_TO_DOUBLE macro to correctly compute the fractional part. This fixes glitchy scrolling in Qt applications when the application was just activated or was scrolled in the backgroud. Qt uses XIQueryDevice call to synchronize internal scroll location with an actual one. Bug: https://gitlab.freedesktop.org/xorg/lib/libxi/issues/10
* Update configure.ac bug URL for gitlab migrationAlan Coopersmith2018-12-071-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Update README for gitlab migrationAlan Coopersmith2018-11-193-25/+20
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Update XIChangeHierarchy.txtRaphaƫl Droz2018-10-271-1/+1
|
* _XIPassiveGrabDevice needs to set time valueJeff Smith2018-02-061-6/+8
| | | | | | | | | | | | | | When setting up a XIPassiveGrabDevice request, the time field is not being set, leading to improper data being passed 'over the wire'. Accept a time value into _XIPassiveGrabDevice and use it to set the time field in the request. Since the the functions calling _XIPassiveGrabDevice are part of the API, and they do not accept time values, they can just pass CurrentTime. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* man: add a bunch of missing spacesPeter Hutterer2017-06-1410-36/+36
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* autogen: add default patch prefixMihail Konev2017-01-261-0/+3
| | | | Signed-off-by: Mihail Konev <k.mvc@ya.ru>
* autogen.sh: use quoted string variablesEmil Velikov2017-01-261-4/+4
| | | | | | | | | Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent fall-outs, when they contain space. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* autogen.sh: use exec instead of waiting for configure to finishPeter Hutterer2017-01-261-1/+1
| | | | | | | Syncs the invocation of configure with the one from the server. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* libXi 1.7.9libXi-1.7.9Peter Hutterer2017-01-231-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix possible free of uninitialized pointerEmilio Pozuelo Monfort2016-12-291-1/+1
| | | | | | | | | | | | | If the _XReply() call fails, we'll try to free an uninitialized pointer. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849026 Reported-by: Thomas Walker <thwalker3@gmail.com> Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org> Reviewed-by: Julien Cristau <jcristau@debian.org> Tested-by: Thomas Walker <thwalker3@gmail.com> Signed-off-by: Julien Cristau <jcristau@debian.org>
* Check that allocating a buffer succeededEmilio Pozuelo Monfort2016-10-261-3/+4
| | | | | | | | | Since we are going to write into the buffer, we should make sure the allocation didn't fail. Reported-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Plug a memory leakEmilio Pozuelo Monfort2016-10-261-0/+2
| | | | | | | | Introduced in commit 19a9cd6. Reported-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libXi 1.7.8libXi-1.7.8Peter Hutterer2016-10-251-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XListInputDevices: don't touch ndevices in case of errorPeter Hutterer2016-10-132-11/+22
| | | | | | | | | | | | | | | We used to always set *ndevices to the number of devices returned by the server. This magically worked because we pretty much never returned an error except on faulty server or library implementations. With 19a9cd60 we now have more chances of getting an error, so the polite thing is to just leave *ndevices alone when we error out. Document it as such in the man page, just in case someone accidentally reads it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> CC: Niels Ole Salscheider <niels_ole@salscheider-online.de> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* SizeClassInfo can return 0 even without an errorNiels Ole Salscheider2016-10-131-11/+13
| | | | | | | | | | | | | | | | Catch the error case separately. Commit 19a9cd607d added length checking to SizeClassInfo but re-used the return value of 0 for an error. A device without classes (as is initialized by xf86-input-libinput for tablets) can legitimately return 0 and erroneously triggers an error. Fix this by using a separate value for the error. Reproducible by calling XListInputDevices() with a tablet attached. This fixes a regression introduced in commit 19a9cd607d. Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* libXi 1.7.7libXi-1.7.7Matthieu Herrb2016-10-041-1/+1
| | | | Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
* Properly validate server responses.Tobias Stoeckmann2016-09-2510-23/+99
| | | | | | | | By validating length fields from server responses, out of boundary accesses and endless loops can be mitigated. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
* libXi 1.7.6libXi-1.7.6Peter Hutterer2015-12-221-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix const compiler warningsJavier Pello2015-11-031-3/+3
| | | | | | | | | | When invoking Data, Data16 and Data32 from XChangeDeviceProperty, we must cast the data pointer to the right type, but we do not need to cast constness away. This change allows to enable -Wcast-qual on the build and have it complete without warnings. Signed-off-by: Javier Pello <javier.pello@urjc.es> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't use raw serial numbers in XIEventsPeter Hutterer2015-10-191-8/+8
| | | | | | | | | | | | | | | cookie->serial is an Xlib contoction, provided by _XSetLastRequestRead(). This serial may be different to the raw serial number from the wire protocol. This causes issues when the raw serial is used to e.g. compare the event to other non-XI events. Use the cookie's serial number instead. https://bugzilla.gnome.org/show_bug.cgi?id=756649 See also https://bugs.freedesktop.org/show_bug.cgi?id=64687 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libXi 1.7.5libXi-1.7.5Peter Hutterer2015-09-101-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix version check in _XIAllowEventsCosimo Cecchi2015-02-241-1/+1
| | | | | | | | | Commit 5810d0797160a97012664ffe719a59e1b288a525 changed _XIAllowEvents() to use _XiCheckVersion() instead of _XiCheckExtInit() to avoid a double display unlock, but it failed to correctly check for the version, since we should set have_XI22 to True for every version greater or equal to 2.2. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XIGrabDevice: Unlock display in error path.Michal Srb2014-11-041-2/+9
| | | | | Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Refactor XGetExtensionVersion.Michal Srb2014-11-033-19/+12
| | | | | | | | | | | | | _XiGetExtensionVersion was called from XGetExtensionVersion and from _XiCheckExtInit. When called from _XiCheckExtInit, nothing accounted for the fact that it can return ((XExtensionVersion *) NoSuchExtension) in case of error. Also it recursively calls _XiCheckExtInit potentionally causing multiple unlocks if _XiCheckExtInit fails. -> Remove it and call directly _XiGetExtensionVersionRequest and only call _XiCheckExtInit only from XGetExtensionVersion. Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix logic in _XIAllowEvents and prevent double unlock.Michal Srb2014-11-031-2/+2
| | | | | | | | | Replacing the second _XiCheckExtInit with _XiCheckVersion prevents possible double unlock as _XiCheckExtInit actually unlocks the display when it returns -1. Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XIGetClientPointer: Return False on error.Michal Srb2014-11-031-1/+1
| | | | | | | Not NoSuchExtension which is 1 = True! Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Do not return NoSuchExtension casted to pointer as an error.Michal Srb2014-11-038-8/+8
| | | | | | | | | Several functions were returning NoSuchExtension casted to a pointer in case of an error. Often in parallel with returning NULL in case of another error. It is undocumented and certainly wrong. Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XIChangeHierarchy: Add missing unlock.Michal Srb2014-11-031-5/+9
| | | | | | | When num_changes <= 0 or Xmalloc fails, the display has to be unlocked. Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix double unlock when _XiCheckExtInit return -1.Michal Srb2014-11-035-7/+16
| | | | | | | | _XiCheckExtInit unlocks the display if it fails and returns -1. Most callers account for it properly, but few didn't. Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Advance the request buffer by the right amount in XIChangeHierarchyJulien Cristau2014-10-281-1/+1
| | | | | | | | c->length is in 4-byte units, dptr is a char *, so we need to advance dptr by 4 * length to get the position of the next HierarchyChangeInfo. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Julien Cristau <jcristau@debian.org>
* libXi 1.7.4libXi-1.7.4Peter Hutterer2014-07-181-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix locking bugs with XIAllowTouchEvents() and XIUngrabTouchBegin()Owen W. Taylor2014-07-142-6/+2
| | | | | | | | Fix two places where the display was double locked when an API function chained to an implementation that also locks the display. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libXi 1.7.3libXi-1.7.3Peter Hutterer2014-07-101-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XIPassiveGrab: Fix completely broken locking in XIGrabTouchBeginJasper St. Pierre2014-07-101-0/+1
| | | | | | | | | | | | _XIPassiveGrabDevice calls LockDisplay as the first thing it does. That means that it expects the display to be unlocked. XIGrabTouchBegin locks the display to check for the XI extension, and then never unlocks it. Effectively, this meant that anybody that called XIGrabTouchBegin after XInitThreads just got a deadlock. Cool. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* XIPassiveGrab: Fix display locking inside _XIPassiveGrabDevice for error pathsJasper St. Pierre2014-07-101-9/+9
| | | | | | | The code here before would just leave the display locked on error, which is all sorts of broken. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove fallback for _XEatDataWords, require libX11 1.6 for itMichael Joost2013-11-252-20/+1
| | | | | | | | | | | | | | _XEatDataWords was orignally introduced with the May 2013 security patches, and in order to ease the process of delivering those, fallback versions of _XEatDataWords were included in the X extension library patches so they could be applied to older versions that didn't have libX11 1.6 yet. Now that we're past that hurdle, we can drop the fallbacks and just require libX11 1.6 for building new versions of the extension libraries. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* man: Update XIQueryVersion docs to match new version compatibility semanticsKeith Packard2013-07-261-4/+16
| | | | | | | | | The X server now allows clients to specify any combination of versions starting with version 2.2, document how that works. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libXi 1.7.2libXi-1.7.2Peter Hutterer2013-07-031-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove check that can never be true.Thomas Klausner2013-06-281-3/+0
| | | | | | | | | | clang warns: warning: comparison of constant 268435455 with expression of type 'CARD16' (aka 'unsigned short') is always false Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libXi 1.7.1.901libXi-1.7.1.901Peter Hutterer2013-06-271-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Include limits.h to prevent build error: missing INT_MAXPeter Hutterer2013-06-272-0/+2
| | | | | | Introduced in 4c8e9bcab459ea5f870d3e56eff15f931807f9b7. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* If the XGetDeviceDontPropagateList reply has an invalid length, return 0Peter Hutterer2013-06-271-1/+3
| | | | | | | | If we skip over the reply data, return 0 as number of event classes. Follow-up to 6dd6dc51a2935c72774be81e5cc2ba2c30e9feff. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Change size += to size = in XGetDeviceControlPeter Hutterer2013-06-271-5/+5
| | | | | | | | | | size += blah is technically correct but it implies that we're looping or otherwise incrementing the size. Which we don't, it's only ever set once. Change this to avoid reviewer confusion. Reported-by: Dave "color-me-confused" Airlie <airlied@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix potential corruption in mask_len handlingPeter Hutterer2013-06-273-12/+45
| | | | | | | | | | | | | | First: check for allocation failure on the mask. XI2 requires that the mask is zeroed, so we can't just Data() the mask provided by the client (it will pad) - we need a tmp buffer. Make sure that doesn't fail. Second: req->mask_len is a uint16_t, so check against malicious mask_lens that would cause us to corrupt memory on copy, as the code always allocates req->mask_len * 4, but copies mask->mask_len bytes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't overwrite the cookies serial numberPeter Hutterer2013-05-241-1/+0
| | | | | | | | | | | | serial != sequenceNumber, see _XSetLastRequestRead() cookie->serial is already set at this point, setting it again directly from the sequenceNumber of the event causes a bunch of weird issues such as scrollbars and text drag-n-drop breaking. https://bugzilla.redhat.com/show_bug.cgi?id=965347 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>