~danieljabailey/inkscape/arc_node_editor

« back to all changes in this revision

Viewing changes to src/sp-mask.cpp

  • Committer: Jabiertxof
  • Date: 2015-05-09 17:31:55 UTC
  • Revision ID: jtx@jtx.marker.es-20150509173155-br934thscki7ur1u
Fix Doxyfile

Show diffs side-by-side

added added

removed removed

Lines of Context:
138
138
        
139
139
    flags &= SP_OBJECT_MODIFIED_CASCADE;
140
140
 
141
 
    std::vector<SPObject *> children = this->childList(false);
142
 
    for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
143
 
        sp_object_ref(*child);
 
141
    GSList *l = NULL;
 
142
    for (SPObject *child = this->firstChild(); child; child = child->getNext()) {
 
143
        sp_object_ref(child);
 
144
        l = g_slist_prepend (l, child);
144
145
    }
145
146
    
 
147
    l = g_slist_reverse (l);
146
148
    
147
 
    for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
148
 
        if (flags || ((*child)->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
149
 
            (*child)->updateDisplay(ctx, flags);
 
149
    while (l) {
 
150
        SPObject *child = SP_OBJECT(l->data);
 
151
        l = g_slist_remove(l, child);
 
152
        
 
153
        if (flags || (child->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
 
154
            child->updateDisplay(ctx, flags);
150
155
        }
151
156
        
152
 
        sp_object_unref(*child);
 
157
        sp_object_unref(child);
153
158
    }
154
159
 
155
160
    for (SPMaskView *v = this->display; v != NULL; v = v->next) {
172
177
        
173
178
    flags &= SP_OBJECT_MODIFIED_CASCADE;
174
179
 
175
 
    std::vector<SPObject *> children = this->childList(false);
176
 
    for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
177
 
        sp_object_ref(*child);
 
180
    GSList *l = NULL;
 
181
    for (SPObject *child = this->firstChild(); child; child = child->getNext()) {
 
182
        sp_object_ref(child);
 
183
        l = g_slist_prepend(l, child);
178
184
    }
179
185
    
180
 
    for (std::vector<SPObject *>::const_iterator child = children.begin();child != children.end();++child) {
181
 
        if (flags || ((*child)->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
182
 
            (*child)->emitModified(flags);
 
186
    l = g_slist_reverse(l);
 
187
    
 
188
    while (l) {
 
189
        SPObject *child = SP_OBJECT(l->data);
 
190
        l = g_slist_remove(l, child);
 
191
        
 
192
        if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
 
193
            child->emitModified(flags);
183
194
        }
184
195
        
185
 
        sp_object_unref(*child);
 
196
        sp_object_unref(child);
186
197
    }
187
198
}
188
199
 
210
221
    const gchar *mask_id = repr->attribute("id");
211
222
    SPObject *mask_object = document->getObjectById(mask_id);
212
223
    
213
 
    for (std::vector<Inkscape::XML::Node*>::const_iterator it = reprs.begin(); it != reprs.end(); ++it) {
 
224
    for (std::vector<Inkscape::XML::Node*>::const_iterator it = reprs.begin(); it != reprs.end(); it++) {
214
225
        Inkscape::XML::Node *node = (*it);
215
226
        SPItem *item = SP_ITEM(mask_object->appendChildRepr(node));
216
227