g_return_val_if_fail (values != NULL, NULL);
g_return_val_if_fail (n_values > 0, NULL);
+
+ if (n_values == 1)
+ return values[0];
result = _gtk_css_value_alloc (>K_CSS_VALUE_ARRAY, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (n_values - 1));
result->n_values = n_values;
}
GtkCssValue *
-_gtk_css_array_value_get_nth (const GtkCssValue *value,
- guint i)
+_gtk_css_array_value_get_nth (GtkCssValue *value,
+ guint i)
{
+ if (value->class != >K_CSS_VALUE_ARRAY)
+ return value;
+
g_return_val_if_fail (value != NULL, NULL);
g_return_val_if_fail (value->class == >K_CSS_VALUE_ARRAY, NULL);
g_return_val_if_fail (value->n_values > 0, NULL);
guint
_gtk_css_array_value_get_n_values (const GtkCssValue *value)
{
+ if (value->class != >K_CSS_VALUE_ARRAY)
+ return 1;
+
g_return_val_if_fail (value != NULL, 0);
g_return_val_if_fail (value->class == >K_CSS_VALUE_ARRAY, 0);
static void
query_length_as_int (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, G_TYPE_INT);
static void
query_font_size (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, G_TYPE_DOUBLE);
static void
query_border (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
GtkBorder border;
static void
color_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, GDK_TYPE_RGBA);
static void
font_family_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
GPtrArray *array;
static void
font_style_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, PANGO_TYPE_STYLE);
static void
font_weight_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, PANGO_TYPE_WEIGHT);
static void
font_stretch_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, PANGO_TYPE_STRETCH);
static void
query_border_style (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, GTK_TYPE_BORDER_STYLE);
static void
opacity_query (GtkCssStyleProperty *property,
- const GtkCssValue *css_value,
+ GtkCssValue *css_value,
GValue *value)
{
g_value_init (value, G_TYPE_DOUBLE);