summaryrefslogtreecommitdiff
path: root/src/XIint.h
AgeCommit message (Collapse)Author
2020-10-10Add support for XI 2.4 gesture eventsPovilas Kanapickas
2014-11-03Refactor XGetExtensionVersion.Michal Srb
_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>
2013-11-25Remove fallback for _XEatDataWords, require libX11 1.6 for itMichael Joost
_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>
2013-05-23Use _XEatDataWords to avoid overflow of rep.length bit shiftingAlan Coopersmith
rep.length is a CARD32, so rep.length << 2 could overflow in 32-bit builds Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-12-09Add support for pointer barrier eventsJasper St. Pierre
Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-26Move version comparison into a helper function.Peter Hutterer
No functional changes, this simply introduces a version helper function that returns -1, 0 or 1 depending on the version comparison result. To be used internally only. Needed for fix to #34240 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2011-12-21Implement support for XI 2.2Peter Hutterer
Adds support for the new TouchClass for multitouch-capable servers/devices. New events: XITouchOwnershipEvent New event types handled: XITouchBegin, XITouchUpdate, XITouchEnd XIRawTouchBegin, XIRawTouchUpdate, XIRawTouchEnd New functions: XIGrabTouchBegin ... passive grabs on touches XIUngrabTouchBegin XIAllowTouchEvents ... Allow/reject touch event sequences New XIQueryDevice classes: XITouchClassInfo Requires libX11 1.5 for GetReqSized Co-authored by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-09-17Support XI 2.1 internallyPeter Hutterer
Add the required constants to pretend to support XI 2.1. Having named constants for 2.1 seems a bit pointless, so let's just use the numbers directly. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-08-02Add XI2 library-internal array offsets to XIint.hPeter Hutterer
These defines are currently defined in XI.h and XI2.h. Their only use is as offset into a library-internal array. Add them to XIint.h to have them where they belong. These defines do not have any effect on the protocol. They are simply offsets into an array for libXi-specific version checking. The defines are added to this header for readability, given that we cannot remove them from the protocol without potentially breaking clients (who should never use these anyway, but...) means they will never get hit. Future defines for these offsets will only be added to libXi, not the protocol. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-10-06Purge cvs tags.Jesse Adkins
Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-02-22Initialize extension with the right number of events.Peter Hutterer
If the server supports a lower XI version than the client, the Xlib-internal event vector may be smashed. See libXext for more details. http://cgit.freedesktop.org/xorg/lib/libXext/commit/?id=83fdb27df4ddc2fb088ddf2ec65f0db6b7c57287 This patch queries the server for the supported XI extension before registering the extension with Xlib. The number of events registered depends on the server version. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Julien Cristau <jcristau@debian.org>
2009-07-08Add next_block() call to advance pointers over memory.Peter Hutterer
Simple call to get the pointer to the next field when operating on a wire protocol struct or on a single-memory-block Xlib structure. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-02Return BadRequest from XIQueryVersion if XI2 isn't supported.Peter Hutterer
XIQueryVersion (like all other calls) makes sure XGetExtensionVersion is called beforehand anyway. So if that doesn't match 2.0 or higher, return BadRquest before issuing the real request (which would trigger a BadRequest error). This way, clients can use XIQueryVersion without having to set up the error handler. XIQueryVersion is now guaranteed to return the server-supported version. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-26XIint.h only needs XI.h as include, not the rest.Peter Hutterer
This fixes 64bit compilation issues. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-26Remove public declarations for SizeClassInfo and ParseClassInfo.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-11XIint.h fix compile error, include XInput.hPeter Hutterer
2009-03-11Add XIQueryVersion() - query and announce the supported XI version.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-11Fix the already existing XI2 calls to the new XI2 protocol. FIXMEPeter Hutterer
FIXME: not bisectable due to XiSelectInput. This includes namespacing them with an XI2 prefix. Affected calls: XIGetClientPointer XISetClientPointer XIDefineDeviceCursor XIUndefineDeviceCursor XIWarpDevicePointer XIQueryDevicePointer XIChangeDeviceHierarchy (+ event)
2009-03-03XIint.h: include XIproto.h for xAnyClassPtr.Peter Hutterer
2009-03-03Back out the XQueryInputVersion hack, restore previous state.Peter Hutterer
XI2 should use a separate request to query the version rather than piggy-back on an existing badly defined request. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-29Janitor: make distcheck, compile warnings, extra .gitignore files.Paulo Cesar Pereira de Andrade
2008-05-22Merge branch 'master' into mpxPeter Hutterer
2008-05-20libXi ansification.Paulo Cesar Pereira de Andrade
Thre are still two remaining compiler warnings, because of non matching function prototypes and function pointer arguments prototypes: src/XSndExEv.c:XSendExtensionEvent() variable register Status(**fp) (Display *, XEvent*, xEvent **, int *) doesn't match struct _XDisplay's: Status (*wire_vec[128])( /* vector for event to wire */ Display * /* dpy */, XEvent * /* re */, xEvent * /* event */ ); and src/XExtInt.c:xinput_extension_hooks field event_to_wire of type XExtensionHooks that has the prototype Status (*event_to_wire)( Display* /* display */, XEvent* /* re */, xEvent* /* event */ ); does not match Status _XiEventToWire( register Display *dpy, /* pointer to display structure */ register XEvent *re, /* pointer to client event */ register xEvent **event, /* wire protocol event */ register int *count); Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-04-27Deprecate XGetExtensionVersion(), replace with XQueryInputVersion().Peter Hutterer
We need XI to be able to do some sort of versioning support.
2006-10-15Don't call XInput_find_display in _XiCheckExtInit, while the Display lock is ↵Jamey Sharp
held. All callers of _XiCheckExtInit have already called XInput_find_display first outside the lock, so just pass their copy of the XExtDisplayInfo structure down. Besides being more correct, this should be slightly faster. :-) Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for identifying the bug and proposing a workaround.
2006-10-15Don't call XInput_find_display in _XiGetExtensionVersion, while the Display ↵Jamey Sharp
lock is held. _XiGetExtensionVersion has two callers. One had already called XInput_find_display, and the other could easily do so outside the Display lock. So I change the _XiGetExtensionVersion interface to accept a previously-computed XExtDisplayInfo from the caller. Besides being more correct, this should be slightly faster. :-) Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for identifying the bug and proposing a workaround.
2006-03-31Mass reindent. Sorry.XORG-7_0_99_901Daniel Stone
2004-04-23Merging XORG-CURRENT into trunkxprint_packagertest_20041217_basexprint_packagertest_20041125_basesco_port_update-baserel-0-6-1lg3d-rel-0-7-0lg3d-rel-0-6-2lg3d-baseXORG-6_8_99_903XORG-6_8_99_902XORG-6_8_99_901XORG-6_8_99_900XORG-6_8_99_9XORG-6_8_99_8XORG-6_8_99_7XORG-6_8_99_6XORG-6_8_99_5XORG-6_8_99_4XORG-6_8_99_3XORG-6_8_99_2XORG-6_8_99_16XORG-6_8_99_15XORG-6_8_99_14XORG-6_8_99_13XORG-6_8_99_12XORG-6_8_99_11XORG-6_8_99_10XORG-6_8_99_1XORG-6_8_2XORG-6_8_1_904XORG-6_8_1_903XORG-6_8_1_902XORG-6_8_1_901XORG-6_8_1XORG-6_8_0XORG-6_7_99_904XORG-6_7_99_903XORG-6_7_99_902XORG-6_7_99_901XORG-6_7_99_2XORG-6_7_99_1XACE-SELINUX-MERGExprint_packagertest_20041217xprint_packagertest_20041125sco_port_updatelg3d-masterlg3d-eventlg3d-dev-0-7-1lg3d-dev-0-7-0lg3d-dev-0-6-latestlg3d-dev-0-6-2lg3d-dev-0-6-1-latestlg3d-dev-0-6-1-currentlg3d-dev-0-6-1-1lg3d-dev-0-6-1lg3dXORG-6_8-branchCOMPOSITEWRAPEgbert Eich
2004-03-14Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004xf86-4_4_99_1Egbert Eich
2004-03-03Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004xf86-4_4_0STSF-CURRENTEgbert Eich
2004-02-26readding XFree86's cvs IDsxf86-4_3_99_903Egbert Eich
2004-02-26Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004Egbert Eich
2003-11-25XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folksxf86-4_3_99_903_specialxf86-4_3_99_902xf86-4_3_99_901xf86-4_3_99_16xf86-012804-2330Kaleb Keithley
2003-11-14Initial revisionXORG-STABLEKaleb Keithley