summaryrefslogtreecommitdiffstats
path: root/src/desktop-style.cpp
diff options
context:
space:
mode:
authorAdrian Boguszewski <adrbogus1@student.pg.gda.pl>2016-07-13 11:36:19 +0000
committerAdrian Boguszewski <adrbogus1@student.pg.gda.pl>2016-07-13 11:36:19 +0000
commitd1947e768272c703674129d5c583204ff2b59251 (patch)
treec1bf1563d0c0837cbab3733c18df0c7c82b18ff4 /src/desktop-style.cpp
parentMerged trunk (diff)
downloadinkscape-d1947e768272c703674129d5c583204ff2b59251.tar.gz
inkscape-d1947e768272c703674129d5c583204ff2b59251.zip
Second part of new SPObject children list
(bzr r14954.1.19)
Diffstat (limited to 'src/desktop-style.cpp')
-rw-r--r--src/desktop-style.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp
index 885d17c21..a52ab3d76 100644
--- a/src/desktop-style.cpp
+++ b/src/desktop-style.cpp
@@ -163,17 +163,17 @@ sp_desktop_apply_css_recursive(SPObject *o, SPCSSAttr *css, bool skip_lines)
return;
}
- for ( SPObject *child = o->firstChild() ; child ; child = child->getNext() ) {
+ for (auto& child: o->_children) {
if (sp_repr_css_property(css, "opacity", NULL) != NULL) {
// Unset properties which are accumulating and thus should not be set recursively.
// For example, setting opacity 0.5 on a group recursively would result in the visible opacity of 0.25 for an item in the group.
SPCSSAttr *css_recurse = sp_repr_css_attr_new();
sp_repr_css_merge(css_recurse, css);
sp_repr_css_set_property(css_recurse, "opacity", NULL);
- sp_desktop_apply_css_recursive(child, css_recurse, skip_lines);
+ sp_desktop_apply_css_recursive(&child, css_recurse, skip_lines);
sp_repr_css_attr_unref(css_recurse);
} else {
- sp_desktop_apply_css_recursive(child, css, skip_lines);
+ sp_desktop_apply_css_recursive(&child, css, skip_lines);
}
}
}
@@ -1714,10 +1714,11 @@ objects_query_blend (const std::vector<SPItem*> &objects, SPStyle *style_res)
int blendcount = 0;
// determine whether filter is simple (blend and/or blur) or complex
- for(SPObject *primitive_obj = style->getFilter()->children;
- primitive_obj && dynamic_cast<SPFilterPrimitive *>(primitive_obj);
- primitive_obj = primitive_obj->next) {
- SPFilterPrimitive *primitive = dynamic_cast<SPFilterPrimitive *>(primitive_obj);
+ for(auto& primitive_obj: style->getFilter()->_children) {
+ SPFilterPrimitive *primitive = dynamic_cast<SPFilterPrimitive *>(&primitive_obj);
+ if (!primitive) {
+ break;
+ }
if (dynamic_cast<SPFeBlend *>(primitive)) {
++blendcount;
} else if (dynamic_cast<SPGaussianBlur *>(primitive)) {
@@ -1730,10 +1731,12 @@ objects_query_blend (const std::vector<SPItem*> &objects, SPStyle *style_res)
// simple filter
if(blurcount == 1 || blendcount == 1) {
- for(SPObject *primitive_obj = style->getFilter()->children;
- primitive_obj && dynamic_cast<SPFilterPrimitive *>(primitive_obj);
- primitive_obj = primitive_obj->next) {
- SPFeBlend *spblend = dynamic_cast<SPFeBlend *>(primitive_obj);
+ for(auto& primitive_obj: style->getFilter()->_children) {
+ SPFilterPrimitive *primitive = dynamic_cast<SPFilterPrimitive *>(&primitive_obj);
+ if (!primitive) {
+ break;
+ }
+ SPFeBlend *spblend = dynamic_cast<SPFeBlend *>(&primitive_obj);
if (spblend) {
blend = spblend->blend_mode;
}