Conditionally use G_VALUE_COLLECT_INIT() macro

GLib 2.24 (but starting from the 2.23.2 unstable release) added a new
macro for collecting GValues from a va_list.

The newly added G_VALUE_COLLECT_INIT() macro should be used in place
of initializing the GValue and calling G_VALUE_COLLECT(), and improves
the collection performances by avoiding multiple checks, free and
initialization calls.
This commit is contained in:
Emmanuele Bassi
2010-02-25 10:22:36 +00:00
parent bd303d6efb
commit 26e22b2ede
6 changed files with 45 additions and 1 deletions

View File

@ -961,9 +961,14 @@ clutter_animator_set (ClutterAnimator *animator,
break;
}
/* FIXME - Depend on GLib 2.24 and use G_VALUE_COLLECT_INIT() */
#if GLIB_CHECK_VERSION (2, 23, 2)
G_VALUE_COLLECT_INIT (&value, G_PARAM_SPEC_VALUE_TYPE (pspec),
args, 0,
&error);
#else
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
G_VALUE_COLLECT (&value, args, 0, &error);
#endif /* GLIB_CHECK_VERSION (2, 23, 2) */
if (error)
{