summaryrefslogtreecommitdiff
path: root/gtk/gtkcssstyle.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-01-31 09:35:41 +0100
committerMatthias Clasen <mclasen@redhat.com>2020-01-31 11:01:21 +0100
commit8dda7ca6b5bc364bb5e8c5c17360d75720645af4 (patch)
tree4806986db28fbd27b8f4eb5ba0ede6b3bf11fca7 /gtk/gtkcssstyle.c
parent9f55377b69b30d083cfdde63da451293862da430 (diff)
downloadgtk+-style-build-fix.tar.gz
Build fix for GtkCssValuesstyle-build-fix
Diffstat (limited to 'gtk/gtkcssstyle.c')
-rw-r--r--gtk/gtkcssstyle.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/gtk/gtkcssstyle.c b/gtk/gtkcssstyle.c
index 6957e2b126..9637af72b6 100644
--- a/gtk/gtkcssstyle.c
+++ b/gtk/gtkcssstyle.c
@@ -704,6 +704,8 @@ static int values_size[] = {
#define N_VALUES(type) ((values_size[type] - sizeof (GtkCssValues)) / sizeof (GtkCssValue *))
+#define GET_VALUES(v) (GtkCssValue **)((guint8 *)(v) + sizeof (GtkCssValues))
+
GtkCssValues *gtk_css_values_ref (GtkCssValues *values)
{
values->ref_count++;
@@ -715,11 +717,12 @@ static void
gtk_css_values_free (GtkCssValues *values)
{
int i;
+ GtkCssValue **v = GET_VALUES (values);
for (i = 0; i < N_VALUES (values->type); i++)
{
- if (values->values[i])
- gtk_css_value_unref (values->values[i]);
+ if (v[i])
+ gtk_css_value_unref (v[i]);
}
g_free (values);
@@ -740,14 +743,18 @@ GtkCssValues *
gtk_css_values_copy (GtkCssValues *values)
{
GtkCssValues *copy;
+ GtkCssValue **v, **v2;
int i;
copy = gtk_css_values_new (values->type);
+ v = GET_VALUES (values);
+ v2 = GET_VALUES (copy);
+
for (i = 0; i < N_VALUES (values->type); i++)
{
- if (values->values[i])
- copy->values[i] = gtk_css_value_ref (values->values[i]);
+ if (v[i])
+ v2[i] = gtk_css_value_ref (v[i]);
}
return copy;