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
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