From 1402c0511239ede27855a836fd9ca9cc8dbf969d Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 18 Jul 2011 13:45:55 +0100 Subject: [PATCH] timeline: Cast elapsed time before emitting ::new-frame When emitting a new-frame signal, priv->elapsed_time is passed as a parameter. This is a gint64. The closure marshal uses an INT. On some platforms, this is not received correctly by signal handlers (they receive 0). One solution is to cast priv->elapsed_time to a gint when emitting the signal. We cannot change the signature of the signal without breaking ABI. https://bugzilla.gnome.org/show_bug.cgi?id=654066 --- clutter/clutter-timeline.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/clutter/clutter-timeline.c b/clutter/clutter-timeline.c index db0f869..074f0cc 100644 --- a/clutter/clutter-timeline.c +++ b/clutter/clutter-timeline.c @@ -550,8 +550,10 @@ emit_frame_signal (ClutterTimeline *timeline) { ClutterTimelinePrivate *priv = timeline->priv; - g_signal_emit (timeline, timeline_signals[NEW_FRAME], 0, - priv->elapsed_time); + /* see bug https://bugzilla.gnome.org/show_bug.cgi?id=654066 */ + gint elapsed = (gint) priv->elapsed_time; + + g_signal_emit (timeline, timeline_signals[NEW_FRAME], 0, elapsed); } static gboolean -- 2.7.4