Commit Graph

508 Commits

Author SHA1 Message Date
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
Jamey Sharp f27166f49b Coalesce _xcb_writev into _xcb_out_write and simplify. 2006-02-24 02:17:36 -08:00
Jamey Sharp bae98d3604 Move _xcb_set_fd_flags to xcb_conn.c and make it static. xcb_util.c now has only public functions. 2006-02-24 01:50:48 -08:00
Jamey Sharp 67b2649dc4 Move _xcb_read_block to xcb_in.c and make it static. Change calls in xcb_conn.c to _xcb_in_read_block instead. 2006-02-24 01:40:45 -08:00
Jamey Sharp 838317f4d3 Remove XCB_CEIL and use a simpler definition for XCB_PAD. 2006-02-24 01:17:03 -08:00
Jamey Sharp 1b50d2ee1e Quit using "-include config.h": use #ifdef HAVE_CONFIG_H etc. like everyone else. 2006-02-24 01:04:48 -08:00
Jamey Sharp e1c2777aba Coalesce readn into _xcb_in_read and simplify. 2006-02-24 00:59:08 -08:00
Jamey Sharp 3f8d0bd532 Move _xcb_readn to xcb_in.c and make it static. Minor change to _xcb_read_block to not depend on _xcb_readn. 2006-02-24 00:48:18 -08:00
Jamey Sharp cdf362f33a Bugfix: protect the output queue from being written while another thread is flushing it. 2006-02-24 00:25:34 -08:00
Jamey Sharp 4e91ae275e Simplify: Always use writev. (In _xcb_out_flush, convert the output queue to a single iovec if needed.) 2006-02-24 00:02:43 -08:00
Jamey Sharp 7f0bc778c8 Factor padding out of _xcb_out_write_block and into its callers, XCBSendRequest and write_setup.
This requires dynamically allocating memory in XCBSendRequest, but this
malloc/free pair turns out to cause a 30% speed hit for the 'x11perf -noop'
test -- so for the moment I use alloca where available and fall back to malloc
on other platforms. Later I think I'll change the contract of XCBSendRequest
so the caller is responsible for memory allocation, because the caller ought
to always be able to stack-allocate here.
2006-02-23 22:41:59 -08:00
Jamey Sharp 6e29e5f2ee Add XCBGetQueuedRequestRead for Xlib that does no syscalls, just returns whatever XCB already knows about. 2006-02-23 17:50:53 -08:00
Jamey Sharp 26ac6292ba Minor performance fix: Change the contract on XCBGetRequestSent so that it does not waste time re-locking. This is for Xlib, and Xlib has already locked. 2006-02-23 15:29:40 -08:00
Jamey Sharp a736674943 Minor performance fix: Only rearrange buffers for BIG-REQUESTs. 2006-02-23 14:57:46 -08:00
Jamey Sharp e866bed934 Move request_written update back where it was for now: doing it early can cause XCBWaitForReply to wrongly believe that the request has been flushed. Eventually, we should fix bug #6021. 2006-02-23 14:32:11 -08:00
Jamey Sharp 1b83f8f8f3 Remove _xcb_assert_valid_sequence. One test is trivially true, and the other may be temporarily violated without anything bad happening. 2006-02-23 14:30:08 -08:00
Jamey Sharp 55c1842686 Move _xcb_write and _xcb_writev to xcb_out.c and make them static, since only _xcb_out_write calls them. 2006-02-23 12:48:27 -08:00
Jamey Sharp 6149c7a6b5 More return value changes, and make _xcb_in_read_packet static since it is not called from outside xcb_in.c. 2006-02-23 12:15:09 -08:00
Jamey Sharp 5b1d39e27b More return value changes. 2006-02-23 11:50:12 -08:00
Jamey Sharp 662479760c Make the return value of _xcb_conn_wait boolean, instead of syscall-like. 2006-02-23 10:17:40 -08:00
Jamey Sharp f8a8b465e0 Bugfix: move request_written update *before* _xcb_conn_wait in _xcb_out_flush. Otherwise a reply may be read before we record that we have sent the request, and then XCB gets... confused. 2006-02-22 23:38:16 -08:00
Jamey Sharp e0a3578383 Remove USE_THREAD_ASSERT compile option. _xcb_conn_wait can no longer be re-entered, since we have no callback hooks now. 2006-02-22 23:11:36 -08:00
Jamey Sharp a7d749ec3f Remove vestiges of adjacent request combining implementation. It is very dead. 2006-02-22 23:09:29 -08:00
Jamey Sharp 06c788932b Control debugging, optimization, and warning flags all independently. 2006-02-20 00:41:39 -08:00
Eric Anholt f825a32135 Add missing entries to .gitignore files. 2006-02-18 23:05:32 -08:00
Eric Anholt d16efb5191 Move .cvsignore to .gitignore. 2006-02-18 22:56:03 -08:00
Jamey Sharp 5b7182c659 Workaround X server bug, fd.o #3210: if a GLXGetFBConfigs request is sent, fix the length field in the reply. 2006-02-18 18:12:40 -08:00
Josh Triplett 47ceed7861 Remove xcl and CVSROOT. 2006-02-18 16:49:41 -08:00