summaryrefslogtreecommitdiff
path: root/gtk/gtkborderimage.c
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2011-06-09 14:54:00 -0400
committerCosimo Cecchi <cosimoc@gnome.org>2011-06-09 15:06:18 -0400
commit42d7487a6ed2aa041b35110725f5768b092cd976 (patch)
treeade1a3f10aff00e78cdd4ff427dd81f8214536f5 /gtk/gtkborderimage.c
parentfe7125e00c663c60b248ee888f8a4632bad0b0b4 (diff)
downloadgtk+-42d7487a6ed2aa041b35110725f5768b092cd976.tar.gz
border-image: don't try to unpack values from a NULL border-image
NULL is a valid value for border-image, so if it's NULL when unpacking, don't try to access the struct fields, but just init the GValues for the unpacked parameters.
Diffstat (limited to 'gtk/gtkborderimage.c')
-rw-r--r--gtk/gtkborderimage.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gtk/gtkborderimage.c b/gtk/gtkborderimage.c
index 277007857f..b6cf778a94 100644
--- a/gtk/gtkborderimage.c
+++ b/gtk/gtkborderimage.c
@@ -139,15 +139,19 @@ _gtk_border_image_unpack (const GValue *value,
parameter[0].name = "border-image-source";
g_value_init (&parameter[0].value, CAIRO_GOBJECT_TYPE_PATTERN);
- g_value_set_boxed (&parameter[0].value, image->source);
parameter[1].name = "border-image-slice";
g_value_init (&parameter[1].value, GTK_TYPE_BORDER);
- g_value_set_boxed (&parameter[1].value, &image->slice);
parameter[2].name = "border-image-repeat";
g_value_init (&parameter[2].value, GTK_TYPE_CSS_BORDER_IMAGE_REPEAT);
- g_value_set_boxed (&parameter[2].value, &image->repeat);
+
+ if (image != NULL)
+ {
+ g_value_set_boxed (&parameter[0].value, image->source);
+ g_value_set_boxed (&parameter[1].value, &image->slice);
+ g_value_set_boxed (&parameter[2].value, &image->repeat);
+ }
*n_params = 3;
return parameter;