Bug 46523

Summary: depend on GLib 2.30 and stop generating signals marshallers
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: tp-glibAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: jonny.lamb, smcv
Version: git masterKeywords: patch
Hardware: Other   
OS: All   
URL: http://cgit.freedesktop.org/~smcv/telepathy-glib/log?=ffi-marshaller-46523
Whiteboard: review+
i915 platform: i915 features:
Attachments: [1/4] Require GLib 2.30, for g_cclosure_marshal_generic()
[2/4] Generate code that uses g_cclosure_marshal_generic()
[3/4] Use GLib's default marshaller everywhere
[4/4] Stop generating lists of signals marshallers altogether

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.