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