After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 628486 - Conflicting headers with Qt
Conflicting headers with Qt
Status: RESOLVED NOTGNOME
Product: glib
Classification: Platform
Component: gio
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2010-09-01 09:51 UTC by Xavier Claessens
Modified: 2010-09-01 13:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Xavier Claessens 2010-09-01 09:51:02 UTC
Qt headers does that:
#define signals protected

And now gio/gdbusintrospection.h:151 uses "signals" as struct member in a public header.

That means that g++ will cry when compiling projects that uses gio and qt together. That happens in telepathy-qt4. It can happen in app code that uses qt together with telepathy-glib, or telepathy-farsight.

That API is new in glib 2.25.x and is not yet in any stable glib release, it would be great to rename that struct member.
Comment 1 Xavier Claessens 2010-09-01 09:51:42 UTC
Note: Qt does the same for "slots"
Comment 2 Christian Dywan 2010-09-01 10:01:47 UTC
This is nothing new, and there is an official workaround:

http://doc.trolltech.com/4.5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots
Comment 3 Xavier Claessens 2010-09-01 10:52:24 UTC
Thanks for the workaround, it is annoying as I had to replace all "foreach" and "emit" too in the code portion that uses gio too. But that's OK.

For the reference, the telepathy-qt4 bug was https://bugs.freedesktop.org/show_bug.cgi?id=29930