Bug 29930

Summary: Build error with glib 2.25
Product: Telepathy Reporter: Xavier Claessens <xclaesse>
Component: tp-qtAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium    
Version: git master   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/xclaesse/telepathy-qt4.git;a=shortlog;h=refs/heads/build-fix
Whiteboard:
i915 platform: i915 features:

Description Xavier Claessens 2010-09-01 02:40:54 UTC
The upcoming glib 2.26 will have a struct member called "signals" in its headers (included from gio.h). The problem is that qobjectdefs.h does "#define signals protected" which cause build errors when using qt and glib together.

To work around this, I guess we need to add some #undef signals in various places. I'll try to make a patch.
Comment 1 Xavier Claessens 2010-09-01 02:56:47 UTC
I opened a bug against gio to see if they are kind enough to change their API: https://bugzilla.gnome.org/show_bug.cgi?id=628486
Comment 2 Xavier Claessens 2010-09-01 03:47:04 UTC
As expected, the glib bug got rejected...

So I made a fix in tp-qt4: http://git.collabora.co.uk/?p=user/xclaesse/telepathy-qt4.git;a=commitdiff;h=42fbacd1af1d9282a4b3cac2c23f06c652cc3a92

The idea is to define QT_NO_KEYWORDS everywhere glib is used (telepathy-glib and telepathy-farsight). That means that "signals" won't be defined, but also "foreach" and "emit" so I had to replace them with Q_FOREACH and Q_EMIT.
Comment 3 Xavier Claessens 2010-09-01 03:51:12 UTC
merged in master.

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.