Bug 11751 - XRecordEnableContextAsync does not work with XCB
Summary: XRecordEnableContextAsync does not work with XCB
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xlib (show other bugs)
Version: 7.2 (2007.02)
Hardware: Other All
: medium normal
Assignee: Jamey Sharp
QA Contact: Xorg Project Team
URL: http://bugs.debian.org/cgi-bin/bugrep...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-28 03:10 UTC by Brice Goglin
Modified: 2009-10-09 10:37 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Brice Goglin 2007-07-28 03:10:04 UTC
Bug reported by Cedric Borgese on the Debian BTS 2 months ago. Here's a summary what has been said in this bug.

XRecordEnableContextAsync works well with libx11 1.1 built without XCB, but it does not with XCB. XRecordEnableContext works with both.

If you replace XRecordEnableContextAsync with XRecordEnableContext and remove
XRecordProcessReplies, it works, but the record is synchronous now and cannot be integrated in an interactive gui app.

It's not clear what XRecordEnableContextAsync and XRecordProcessReplies don't do correctly.

There's a example code available at
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=main.c;att=2;bug=425969

Build it with gcc main.c -lX11 -lXtst, run it and move the mouse. if it work, it should catch the mouse motion.

I am assigning to "library" by default aince I don't know XCB well enough to choose the right component.

Brice
Comment 1 Jamey Sharp 2007-11-04 12:20:12 UTC
On recent review, we've found that the implementation of process_responses in Xlib's src/xcb_io.c is incorrect. This bug is probably related, though we haven't done enough troubleshooting to confirm that yet.
Comment 2 Julien Cristau 2009-01-21 17:11:50 UTC
Adding QA contact.
Comment 3 Jamey Sharp 2009-10-09 10:37:13 UTC
As far as I can tell, this test app works now. I wouldn't be shocked if socket-handoff fixed it.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.