diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp
index 4f5ab982edaf33d1aa68a2cb8e5fbf2b4754b456..9c7cbb35ffc59bdd4b5fb788177b7daad8a9ab30 100644 (file)
--- a/src/desktop-style.cpp
+++ b/src/desktop-style.cpp
@@ -413,8 +413,8 @@ objects_query_fillstroke (GSList *objects, SPStyle *style_res, bool const isfill
c[0] = c[1] = c[2] = c[3] = 0.0;
gint num = 0;
- gfloat prev[4];
- prev[0] = prev[1] = prev[2] = prev[3] = 0.0;
+ gfloat prev[3];
+ prev[0] = prev[1] = prev[2] = 0.0;
bool same_color = true;
for (GSList const *i = objects; i != NULL; i = i->next) {
@@ -484,9 +484,8 @@ objects_query_fillstroke (GSList *objects, SPStyle *style_res, bool const isfill
prev[0] = d[0];
prev[1] = d[1];
prev[2] = d[2];
- prev[3] = d[3];
} else {
- if (same_color && (prev[0] != d[0] || prev[1] != d[1] || prev[2] != d[2] || prev[3] != d[3]))
+ if (same_color && (prev[0] != d[0] || prev[1] != d[1] || prev[2] != d[2]))
same_color = false;
}
SPObject *obj = SP_OBJECT (i->data);
SPStyle *style = SP_OBJECT_STYLE (obj);
if (!style) continue;
+ if (!SP_IS_ITEM(obj)) continue;
NR::Matrix i2d = sp_item_i2d_affine (SP_ITEM(obj));