summaryrefslogtreecommitdiffstats
path: root/src/sp-mask.cpp
diff options
context:
space:
mode:
authorJabiertxof <jtx@jtx>2017-01-21 23:33:24 +0000
committerJabiertxof <jtx@jtx>2017-01-21 23:33:24 +0000
commiteeb5405c1b2734322ca9ed506e8a8e16a87c2a4f (patch)
tree5f98cdb1ee5633b69ec1f5c21d0d5e69f8770ad2 /src/sp-mask.cpp
parentOrganize doeffect function (diff)
parentFix "swap fill and stroke" for multiple objects in selection (diff)
downloadinkscape-eeb5405c1b2734322ca9ed506e8a8e16a87c2a4f.tar.gz
inkscape-eeb5405c1b2734322ca9ed506e8a8e16a87c2a4f.zip
Update to trunk
(bzr r13645.1.165)
Diffstat (limited to 'src/sp-mask.cpp')
-rw-r--r--src/sp-mask.cpp28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/sp-mask.cpp b/src/sp-mask.cpp
index 3537c7bac..4690ffda2 100644
--- a/src/sp-mask.cpp
+++ b/src/sp-mask.cpp
@@ -23,7 +23,6 @@
#include "attributes.h"
#include "document.h"
#include "document-private.h"
-#include "sp-item.h"
#include "sp-mask.h"
@@ -138,12 +137,8 @@ void SPMask::update(SPCtx* ctx, unsigned int flags) {
flags &= SP_OBJECT_MODIFIED_CASCADE;
- std::vector<SPObject *> children = this->childList(false);
- for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
- sp_object_ref(*child);
- }
-
-
+ std::vector<SPObject *> children = this->childList(true);
+
for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
if (flags || ((*child)->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
(*child)->updateDisplay(ctx, flags);
@@ -172,11 +167,8 @@ void SPMask::modified(unsigned int flags) {
flags &= SP_OBJECT_MODIFIED_CASCADE;
- std::vector<SPObject *> children = this->childList(false);
- for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
- sp_object_ref(*child);
- }
-
+ std::vector<SPObject *> children = this->childList(true);
+
for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
if (flags || ((*child)->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
(*child)->emitModified(flags);
@@ -234,9 +226,9 @@ Inkscape::DrawingItem *SPMask::sp_mask_show(Inkscape::Drawing &drawing, unsigned
Inkscape::DrawingGroup *ai = new Inkscape::DrawingGroup(drawing);
this->display = sp_mask_view_new_prepend (this->display, key, ai);
- for ( SPObject *child = this->firstChild() ; child; child = child->getNext() ) {
- if (SP_IS_ITEM (child)) {
- Inkscape::DrawingItem *ac = SP_ITEM (child)->invoke_show (drawing, key, SP_ITEM_REFERENCE_FLAGS);
+ for (auto& child: children) {
+ if (SP_IS_ITEM (&child)) {
+ Inkscape::DrawingItem *ac = SP_ITEM (&child)->invoke_show (drawing, key, SP_ITEM_REFERENCE_FLAGS);
if (ac) {
ai->prependChild(ac);
@@ -257,9 +249,9 @@ void SPMask::sp_mask_hide(unsigned int key) {
g_return_if_fail (this != NULL);
g_return_if_fail (SP_IS_MASK (this));
- for ( SPObject *child = this->firstChild(); child; child = child->getNext()) {
- if (SP_IS_ITEM (child)) {
- SP_ITEM(child)->invoke_hide (key);
+ for (auto& child: children) {
+ if (SP_IS_ITEM (&child)) {
+ SP_ITEM(&child)->invoke_hide (key);
}
}