Bug 46523 - depend on GLib 2.30 and stop generating signals marshallers
Summary: depend on GLib 2.30 and stop generating signals marshallers
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-glib (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://cgit.freedesktop.org/~smcv/tel...
Whiteboard: review+
Keywords: patch
Depends on:
Blocks:
 
Reported: 2012-02-23 07:35 UTC by Simon McVittie
Modified: 2012-03-01 07:23 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
[1/4] Require GLib 2.30, for g_cclosure_marshal_generic() (735 bytes, patch)
2012-02-23 07:35 UTC, Simon McVittie
Details | Splinter Review
[2/4] Generate code that uses g_cclosure_marshal_generic() (2.61 KB, patch)
2012-02-23 07:38 UTC, Simon McVittie
Details | Splinter Review
[3/4] Use GLib's default marshaller everywhere (41.03 KB, patch)
2012-02-23 07:39 UTC, Simon McVittie
Details | Splinter Review
[4/4] Stop generating lists of signals marshallers altogether (8.54 KB, patch)
2012-02-23 07:40 UTC, Simon McVittie
Details | Splinter Review

Description Simon McVittie 2012-02-23 07:35:05 UTC
On the 'next' branch, telepathy-glib's signals marshaller infrastructure is one of the things that makes it difficult to split the library into high-level and auto-generated parts.

Happily, GLib 2.30 has a generic marshaller using libffi, so we don't have to do this any more. We might as well do this in 0.17.x.

(... but if anyone objects to doing this in 0.17.x, 'next' would be fine too)
Comment 1 Simon McVittie 2012-02-23 07:35:48 UTC
Created attachment 57528 [details] [review]
[1/4] Require GLib 2.30, for g_cclosure_marshal_generic()
Comment 2 Simon McVittie 2012-02-23 07:38:55 UTC
Created attachment 57529 [details] [review]
[2/4] Generate code that uses g_cclosure_marshal_generic()

I'm using the symbol explicitly in the generated code, because if 
someone copies the tools into another project but forgets to increase 
the GLib dependency, failing to compile with a missing symbol is a much
nicer failure mode than failing to work at runtime. (Also, I haven't
checked whether dbus-glib copes gracefully with NULL as a marshaller.)
Comment 3 Simon McVittie 2012-02-23 07:39:48 UTC
Created attachment 57530 [details] [review]
[3/4] Use GLib's default marshaller everywhere

In contrast to the previous commit, I'm just using NULL here - 
telepathy-glib has an explicit dependency on GLib 2.30.
Comment 4 Simon McVittie 2012-02-23 07:40:19 UTC
Created attachment 57531 [details] [review]
[4/4] Stop generating lists of signals marshallers altogether
Comment 5 Jonny Lamb 2012-02-28 12:24:14 UTC
Looks good.
Comment 6 Simon McVittie 2012-03-01 07:23:47 UTC
(In reply to comment #5)
> Looks good.

Thanks, merged for 0.17.6.


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.