diff options
Diffstat (limited to 'gtk/gtkcssarrayvalue.c')
-rw-r--r-- | gtk/gtkcssarrayvalue.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk/gtkcssarrayvalue.c b/gtk/gtkcssarrayvalue.c index 02ece79fbd..889c4da01b 100644 --- a/gtk/gtkcssarrayvalue.c +++ b/gtk/gtkcssarrayvalue.c @@ -392,14 +392,27 @@ _gtk_css_array_value_new_from_array (GtkCssValue **values, guint n_values) { GtkCssValue *result; + gboolean is_static; + int i; g_return_val_if_fail (values != NULL, NULL); g_return_val_if_fail (n_values > 0, NULL); if (n_values == 1) return values[0]; - + + is_static = TRUE; + for (i = 0; i < n_values; i++) + { + if (!values[i]->is_static) + { + is_static = FALSE; + break; + } + } + result = _gtk_css_value_alloc (>K_CSS_VALUE_ARRAY, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (n_values - 1)); + result->is_static = is_static; result->n_values = n_values; memcpy (&result->values[0], values, sizeof (GtkCssValue *) * n_values); |