Bug 5406 - Internal Xorg headers aren't C++ compatible
Summary: Internal Xorg headers aren't C++ compatible
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: pre-1.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.4.0
Assignee: Pierre Ossman
URL:
Keywords: prosaic, samuel_tester
Depends on:
Blocks: 5383
  Show dependency treegraph
 
Reported: 2015-01-26 14:40 CET by Pierre Ossman
Modified: 2015-04-10 15:53 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2015-01-26 14:40:36 CET
The internal headers used in Xorg aren't really compatible with C++ as they use C++ keywords like "public" and just generally manage to hit the corner cases where C++ and C are incompatible. We have several hacks in place to work around this, but with bug 5383 yet another one of these problems has surfaced.

This is not really a viable long term strategy so we need to stop including these headers from C++ code. This will require some new C code that bridges the Xorg internals with the RFB C++ code.
Comment 1 Pierre Ossman cendio 2015-01-27 13:42:26 CET
Fixed upstream and dropped in our tree in r29849.
Comment 2 Pierre Ossman cendio 2015-01-30 11:14:00 CET
Seems to work well. Setting as resolved.

Not all hours are reported on this bug as it started as community work.
Comment 3 Samuel Mannehed cendio 2015-04-10 15:53:06 CEST
I tested corner cases for the xserver for this bug. I tested applications using gtk, qt, java and motif through thinlinc. I also tested the clipboard, resizing the session and using a custom cursor. I did not encounter any issues.

Tested with build 4719 on Fedora 20 (qt, gtk) and Solaris 10 (java, motif).

Note You need to log in before you can comment on or make changes to this bug.