Commit Graph

177 Commits

Author SHA1 Message Date
Jamey Sharp 7f71bf9c0f Make all public functions do nothing on an error connection. 2006-09-21 15:18:57 -07:00
Jamey Sharp 0aa96bfc7a Convert connection functions to return error objects. 2006-09-21 15:17:18 -07:00
Jamey Sharp ac17ae62fe Provide a "has error" property for XCBConnection. 2006-09-21 15:17:18 -07:00
Jamey Sharp df7fb77d6e Refactor XCBPollForEvent with a shorter critical section.
This simplifies the patch for bug #8208 later.
2006-09-21 15:05:01 -07:00
Jamey Sharp 3cc0ddf0e6 Fix bug #7261: events do not signal the end of replies for that sequence number. 2006-09-18 14:49:22 -07:00
Jamey Sharp a92716f1da Finish removing deprecated functions. Fixes build failure (oops). 2006-09-13 12:15:23 -07:00
Jamey Sharp 476ccc1ba3 Ignore xproto.xml that now gets copied in while building. 2006-09-12 13:43:17 -07:00
Jamey Sharp 0d7fb3afdd Remove deprecated public API functions in preparation for 1.0 release. Xlib-specific deprecation remains. 2006-09-12 13:25:49 -07:00
Bart Massey d4e768fc32 Cleaned up previous fix for GNU Make stuff.
Got "make distcheck" to work (whatever that does).
2006-09-12 00:42:11 -07:00
Bart Massey 0c3e528563 Removed GNU make dependency.
Made extensions directory persist.
2006-09-11 23:29:10 -07:00
Jamey Sharp 81d6fd64c0 Handle XC-MISC request failure when allocating new XIDs. (fixes #7001) 2006-09-09 15:52:37 -07:00
Josh Triplett dbd2d96893 Implement error handling plan 7.
Needs improvement: should not duplicate the code of every request function.
2006-07-30 22:03:50 -07:00
Josh Triplett 65ed274f05 Parameterize context in cookie-type and request-matching template. 2006-07-30 22:03:46 -07:00
Jamey Sharp f74487e34f Fix Keith's 32-bit wrap fix.
Issue 0, 1, or 2 syncs as needed and do not handle 16-bit wrap until
absolutely necessary.
2006-07-30 17:03:27 -07:00
Josh Triplett 13896d8f65 Fix typo: s/request/sequence/ 2006-07-30 15:09:03 -07:00
Josh Triplett 685d8c76c2 Add XCBRequestCheck function needed for Plan 7. 2006-07-30 14:42:55 -07:00
Eric Anholt b3a2f83f1e Restore netinet/in.h include that was removed in the DECnet commit. 2006-07-28 15:29:05 -07:00
Eric Anholt b7c96681b2 Replace HAVE_* tests with just checking for (__solaris__)
The installed headers can't be relying on the presence of the internal
config.h defines, and it was breaking the xcb build for me as well due to
config.h not being included early enough.
2006-07-25 09:13:59 -07:00
Ian Osgood 8ba93ebb75 Fix build on Solaris (use inttypes.h) 2006-07-07 07:18:41 -07:00
Ian Osgood e0574a617b Finally remove X.h from xcb.h, fix broken image tests. 2006-07-01 00:55:08 -07:00
Keith Packard db2504130b Switch sequence comparisons to handle 32-bit sequence number wrap.
Create a macro, XCB_SEQUENCE_COMPARE, that accepts two sequence numbers and
a comparison operator and correctly handles 32-bit wrap around.
Rewrite all ordered sequence number comparisons to use this macro.
Also, caught one error where a sequence was stored in a signed int variable.
Push out a GetInputFocus request when the sequence number does wrap at 32
bits so that applications cannot see sequence 0 (as that is an error
indicator).
2006-07-01 00:16:07 -07:00
Josh Triplett 75fead5b86 Remove arbitrary division between xcb_types and xproto by merging
xcb_types.xml into xproto.xml.
2006-06-15 03:03:13 -07:00
TORRI Vincent 62749d54fd fix compilation with c++ compilers. Remove some trailing spaces 2006-06-08 06:59:47 +02:00
Ian Osgood 829188cdd6 Deprecate XCBSync, move to XCBAuxSync. 2006-05-30 11:54:25 -07:00
Jamey Sharp 936077cbc8 Use correct word offset when testing for GetFBConfigsSGIX VendorPrivate. 2006-05-14 22:49:18 -07:00
Josh Triplett 442730a9a2 In the GLX workaround, use !strcmp to check for equality with "GLX", not strcmp. 2006-05-14 22:37:55 -07:00
Josh Triplett 2e49f58e4c Stop overwriting CFLAGS in xcb/src/Makefile.am. 2006-05-10 14:22:27 -07:00
Donnie Berkholz 92456577db Fix dependencies on libXCB.la to not walk down from $(top_builddir); this fixes parallel builds. 2006-05-07 15:44:37 -07:00
Ian Osgood e6132aff2f Move the remainder of the constants in X.h into XML enumerations.
Fix xcb_auth to use one of the new enumerations.
2006-04-28 15:27:09 -07:00
Josh Triplett 5c35ea63db Add an explanation of libtool -version-info to src/Makefile.am, and add an explicit -version-info 0:0:0 for all libraries. 2006-04-27 17:20:52 -07:00
Josh Triplett 135cda6e9d Fix a comment for the renaming of XCBConnSetupSuccessRep to XCBSetup, and fix another comment which had a copy-paste error. 2006-04-27 13:47:21 -07:00
Jamey Sharp 3e213a1bec Declare arguments const in the various structure accessors, so XCBGetSetup is not so painful to use. 2006-04-27 10:34:22 -07:00
Jamey Sharp dd932e025b Rename ConnSetup* to Setup*, Setup*Rep to Setup*, and SetupSuccess* to Setup*. Provide deprecated backwards-compatability functions and typedefs for the old names, to be removed before 1.0. 2006-04-26 23:19:16 -07:00
Ian Osgood 1476dcecfd Changes to makefile to build libXCBxtest 2006-04-26 10:50:31 -07:00
Patrick Caulfield bb8cf58015 Add support for DECnet. Still needs configure-script options to enable. 2006-04-24 08:29:18 -07:00
Jamey Sharp 771761ccaa Minor performance improvement: do not call _xcb_in_expect_reply unless it is needed. It is not often needed. 2006-04-20 11:51:01 -07:00
Jamey Sharp 8953a14f2b Add <sys/select.h> to xcb_in.c to fix bug #6122. 2006-04-19 22:48:10 -07:00
Alan Coopersmith 05a66af895 Bugfix: xcb_conn.c included <sys/fcntl.h> instead of the POSIX-standard <fcntl.h>. 2006-04-19 21:51:33 -07:00
Jamey Sharp f090da98f3 Remove the last goto in XCB: XCBWaitForReply now permits multiple threads to force the same cookie. 2006-04-19 20:31:20 -07:00
Jamey Sharp d5347485a5 Restructure XCBWaitForReply to eliminate two gotos. 2006-04-19 20:23:37 -07:00
Jamey Sharp d5ab03b4b7 Fixed poll_for_reply, added comments, and refactored XCBWaitForReply to call poll_for_reply. 2006-04-19 20:15:15 -07:00
Jamey Sharp 7667adbc63 Add XCBPollForReply and deprecate XCBGetRequestRead and XCBGetQueuedRequestRead. 2006-04-19 16:49:32 -07:00
Josh Triplett 53971ea183 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb 2006-04-16 11:23:52 -07:00
Josh Triplett cc075990f4 Add xcbint.h to noinst_HEADERS, so it gets distributed. 2006-04-15 20:21:22 -07:00
Josh Triplett cb6e1849b6 Use screensaver.xml 2006-04-15 14:17:52 -07:00
Josh Triplett 91aeea2a3e Put EXTHEADERS and EXTSOURCES in order. 2006-04-15 12:52:05 -07:00
Josh Triplett ff38c17c48 Split all non-essential extensions into their own separate libraries, named
libXCBextname.  To use extension extname, include extname.h and link with
-lXCBextname.  This allows extensions to change without bumping the main
libXCB version.

bigreq and xc_misc remain in libXCB, because XCB uses them internally to make
big requests and to allocate XIDs, respectively.
2006-04-15 12:26:03 -07:00
Eric Anholt 8275ac3a4a Retry a select() if it returns with EINTR. Fixes IO errors in Xephyr, which is
often interrupted by timers.
2006-04-09 19:51:10 -07:00
Eric Anholt 66a88ed0e5 Remove unnecessary include. Noticed by jamey. 2006-04-09 19:19:12 -07:00
Jamey Sharp df5d8adc1f The typedefs replacing Xmd.h conflict with Xmd.h. Here is a hacky workaround: FIXME! 2006-03-16 11:27:06 -08:00
Ian Osgood 5ccf7216d2 Change <bit> syntax to <bit>n</bit> as Jamey and Josh suggested
and add more button, key, and graphics enumerations.
2006-03-15 22:41:08 -08:00
Ian Osgood 35ecaf45be Remove proto/X11 dependencies from xcb-demo. 2006-03-15 10:09:47 -08:00
Ian Osgood 4142e34695 Remove xcb-util dependency on proto/X11
by moving many defs from X.h to <enum>s in xproto.xml
2006-03-14 18:23:37 -08:00
Ian Osgood f5c4956a81 Fix XCBGetSetup to match prototype. 2006-03-14 11:53:01 -08:00
Ian Osgood 9472c251ae Merge branch 'master' of git+ssh://iano@git.freedesktop.org/git/xcb 2006-03-14 11:44:43 -08:00
Ian Osgood 71ddf29d00 Add an expression construct <bit bit="n"/>
for mask enumerations such as CW flags.
Replaces the C-specific use of 1<<n in xproto.xml
2006-03-14 10:18:22 -08:00
TORRI Vincent 0d648ac0ab doxygen documentation of the API 2006-03-14 07:40:39 +01:00
Ian Osgood a810d1ffe4 Remove dependencies on Xmd.h and X.h
(Still including X.h until defs are moved to xproto.xml
 and xcb-util and xcb-demo are fixed to use them.)
2006-03-13 17:49:17 -08:00
Ian Osgood be1302b6ef Remove last deprecation warning. 2006-03-13 10:36:13 -08:00
Ian Osgood d8de2c7c2a Merge branch 'master' of git+ssh://iano@git.freedesktop.org/git/xcb 2006-03-12 23:03:24 -08:00
Ian Osgood e7576738c3 Restructure to remove most deprecation warnings. 2006-03-12 23:02:45 -08:00
Jamey Sharp 5e0cfa84be Use libXdmcp, if available with XdmcpWrap, for XDM-AUTHORIZATION-1. Closes bug #6106. 2006-03-12 17:15:50 -08:00
Jamey Sharp d69c403cba Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb 2006-03-12 13:36:33 -08:00
Jamey Sharp b83f18a4cc Only _xcb_conn_wait calls _xcb_out_write now, so move it to xcb_conn.c and make it static. 2006-03-12 13:20:29 -08:00
Jamey Sharp fb61c94d68 Remove c->out.vec. Pass iovecs directly down the call tree. Add _xcb_out_flush_to, refactor other functions, make write_block static. 2006-03-12 12:40:34 -08:00
Jamey Sharp 5cdc02e344 Portability fixes. Should help DragonFly and Solaris, and should not hurt anything else. Tested only on linux so far though. 2006-03-11 20:32:04 -08:00
Jamey Sharp 83e652f566 Move c->out.vec refs out of _xcb_conn_wait up to _xcb_out_flush. 2006-03-09 00:02:42 -08:00
Jamey Sharp 5b0ae3421d Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb 2006-03-08 22:50:48 -08:00
Jamey Sharp fd1f9cb13f Unify autofoo .gitignore bits into one top-level file, and remove resulting redundancies. 2006-03-08 22:49:59 -08:00
Ian Osgood 1261a4150c Add symbols for error and reply response_types,
and use XCBKeymapNotify from xcb-proto.
2006-03-08 22:26:20 -08:00
Ian Osgood 6fb661f3ff Bugfix: null-terminate the path in sockaddr_un before using it.
This may fix itermittant connect failures.
2006-03-08 21:56:57 -08:00
Jamey Sharp 621f891c49 Move c->out.vec refs out of _xcb_out_write up to _xcb_conn_wait. 2006-03-08 14:21:16 -08:00
Jamey Sharp c491eeb9a9 Fix off-by-one error that kept the last byte(s) of the output queue from being used. 2006-03-07 21:19:58 -08:00
TORRI Vincent 522a6e0eac Use the GCC 4 visibility extension to mark everything in xcbint.h hidden. 2006-03-07 10:25:23 -08:00
Jamey Sharp d1cfd4d0a2 Off-by-one error in the sequence-wrapping proof, and therefore in the corresponding code. 2006-03-06 01:10:20 -08:00
Jamey Sharp e5458e477d Implement provably-correct sequence wrap handling. Add flag XCB_REQUEST_DISCARD_REPLY. 2006-03-05 00:20:50 -08:00
Jamey Sharp 29f9fe0fc8 API/ABI change: XCBSendRequest returns the sequence number instead of using an out-parameter. Now 0 is a special sequence number indicating failure. 2006-03-03 11:08:10 -08:00
Jamey Sharp 255c21b17f Add 32-bit full_sequence fields to generic errors and events, so callers can always correlate events and errors with requests correctly. 2006-03-03 01:45:00 -08:00
Jamey Sharp 622b599c8f Tweak to previous API change: Require that spare iovecs fall before vector[0]. Leave vector in well-defined state. 2006-03-02 23:39:38 -08:00
Jamey Sharp 87905f0579 assert() that XCBSendRequest was handed enough space to set opcodes and short length fields. 2006-03-02 23:31:35 -08:00
Jamey Sharp 45e1cc0935 Bugfix: The fixed-length part needs two iovecs reserved, just like all the other parts. 2006-03-02 23:12:21 -08:00
Jamey Sharp b46953f46c Use XPath position() function instead of xsl:number, to evaluate array indices while generating code for easier readability. 2006-03-02 23:05:08 -08:00
Jamey Sharp 5e115e2441 API/ABI change: XCBSendRequest callers must pad to 4-byte boundaries now. When not in RAW mode, a null pointer for iov_base is replaced by up to 3 padding bytes. 2006-03-02 15:35:31 -08:00
Jamey Sharp ed823bf651 Separate notion of request-completed from current-request, and mark requests completed more aggressively. Detects some usage errors that are otherwise undetectable. 2006-03-02 13:49:00 -08:00
Jamey Sharp c05ae15b66 Buffer a couple CARD32s on the stack instead of using an extra iovec. Also a bugfix: do not hold a reference to longlen after it goes out of scope. 2006-02-27 12:12:33 -08:00
Jamey Sharp 8f991bdd38 Add XCB_REQUEST_RAW flag for XCBSendRequest. 2006-02-27 11:03:13 -08:00
Jamey Sharp 5e350126a7 Bugfix: how about *not* leaking all pending_replies when no reply matches, as often happens with Xlib? 2006-02-27 10:53:08 -08:00
Jamey Sharp 731c85762d Move test for other writing threads *before* allocating a sequence number. 2006-02-27 02:57:36 -08:00
Jamey Sharp 8ab4dcde9d _xcb_list is no longer used, so remove it. Simplify _xcb_map. 2006-02-27 02:14:48 -08:00
Jamey Sharp 76ad79a7ad Replace readers generic list with hand-written typesafe version. 2006-02-27 01:43:07 -08:00
Jamey Sharp fa71b9b835 Rename struct XCBReplyData to reader_list to follow my naming conventions and better reflect its purpose. 2006-02-27 01:06:15 -08:00
Jamey Sharp ff665b5726 In struct XCBReplyData, change void *data to pthread_cond_t *data. That was dumb. 2006-02-27 00:54:59 -08:00
Jamey Sharp 50acfeae36 Delete unused xcb_list functions and refactor others. 2006-02-26 23:43:44 -08:00
Jamey Sharp 86ce18c22c Replace current_reply generic queue with hand-written version. No generic queues remain so delete their implementation. 2006-02-26 22:58:17 -08:00
Jamey Sharp 0f130b4d94 Replace events generic queue with hand-written typesafe version. 2006-02-26 18:28:50 -08:00
Jamey Sharp ff7b6c9124 API/ABI break: Add flags to XCBSendRequest, first for error-checked requests.
There's no more race condition between event and reply handling.
The *RequestBlind and *RequestChecked functions are not yet implemented.
2006-02-26 15:45:08 -08:00
Jamey Sharp 7875040fa1 Replace pending_replies generic queue with a hand-implemented typesafe version. 2006-02-26 02:00:03 -08:00
Jamey Sharp a1eff0c49a Replace my old generic map ADT with a growable array for the extension cache. 2006-02-26 01:27:01 -08:00
Jamey Sharp 46a7549981 XCB has not had tracing features for a long time: remove the remnants. 2006-02-25 23:27:47 -08:00
Jamey Sharp b6cbe83774 Rearrange an if statement that's been bothering me. 2006-02-25 23:26:55 -08:00