From 146967702fc178f70d9e3f2900f744ab2ae74af6 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Tue, 4 Nov 2008 10:40:53 +0000 Subject: [PATCH] Bug 1181 - In Score, timelines, appended at markers, are also called on complete * clutter/clutter-score.c (start_children_entries): Use the name of the marker to start as the data parameter and only start child timelines that have the same marker name. Previously the ClutterScore would just start all child entries when a marker was reached or the timeline completed regardless of whether they were added with a marker or not. Thanks to Mihail Naydenov for reporting the bug. --- ChangeLog | 13 +++++++++++++ clutter/clutter-score.c | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a16b05cf..076c17cfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2008-11-04 Neil Roberts + + Bug 1181 - In Score, timelines, appended at markers, are also + called on complete + + * clutter/clutter-score.c (start_children_entries): Use the name + of the marker to start as the data parameter and only start child + timelines that have the same marker name. Previously the + ClutterScore would just start all child entries when a marker was + reached or the timeline completed regardless of whether they were + added with a marker or not. Thanks to Mihail Naydenov for + reporting the bug. + 2008-11-03 Emmanuele Bassi * clutter/cogl/gl/Makefile.am: Whitespace fixes. diff --git a/clutter/clutter-score.c b/clutter/clutter-score.c index 27243791a..dfc8443dc 100644 --- a/clutter/clutter-score.c +++ b/clutter/clutter-score.c @@ -599,7 +599,10 @@ start_children_entries (GNode *node, { ClutterScoreEntry *entry = node->data; - start_entry (entry); + /* If data is NULL, start all entries that have no marker, otherwise + only start entries that have the same marker */ + if (data == NULL ? entry->marker == NULL : !strcmp (data, entry->marker)) + start_entry (entry); } static void @@ -623,7 +626,7 @@ on_timeline_marker (ClutterTimeline *timeline, g_node_children_foreach (parent, G_TRAVERSE_ALL, start_children_entries, - NULL); + (gpointer) marker_name); } }