summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorLiam P. White <inkscapebronyat-signgmaildotcom>2014-05-11 18:23:10 +0000
committerLiam P. White <inkscapebronyat-signgmaildotcom>2014-05-11 18:23:10 +0000
commit1f1932ae4592c8f316e3a68ac86874bf87f321c4 (patch)
tree704707febbd39ec2f66305679ced762b33f898af /src/ui
parentAdd selection sets (diff)
downloadinkscape-1f1932ae4592c8f316e3a68ac86874bf87f321c4.tar.gz
inkscape-1f1932ae4592c8f316e3a68ac86874bf87f321c4.zip
Stabilize the selection set system a bit
(bzr r13090.1.76)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/tags.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/dialog/tags.cpp b/src/ui/dialog/tags.cpp
index 7fdd2e906..14ad5b8cc 100644
--- a/src/ui/dialog/tags.cpp
+++ b/src/ui/dialog/tags.cpp
@@ -280,7 +280,8 @@ bool TagsPanel::_executeAction()
for (std::vector<SPObject *>::iterator iter = todelete.begin(); iter != todelete.end(); ++iter) {
SPObject * obj = *iter;
if (obj && obj->parent && obj->getRepr() && obj->parent->getRepr()) {
- obj->parent->getRepr()->removeChild(obj->getRepr());
+ //obj->parent->getRepr()->removeChild(obj->getRepr());
+ obj->deleteObject(true, true);
}
}
DocumentUndo::done(_document, SP_VERB_DIALOG_TAGS, _("Remove from selection set"));
@@ -576,7 +577,8 @@ bool TagsPanel::_handleKeyEvent(GdkEventKey *event)
for (std::vector<SPObject *>::iterator iter = todelete.begin(); iter != todelete.end(); ++iter) {
SPObject * obj = *iter;
if (obj && obj->parent && obj->getRepr() && obj->parent->getRepr()) {
- obj->parent->getRepr()->removeChild(obj->getRepr());
+ //obj->parent->getRepr()->removeChild(obj->getRepr());
+ obj->deleteObject(true, true);
}
}
DocumentUndo::done(_document, SP_VERB_DIALOG_TAGS, _("Remove from selection set"));
@@ -680,12 +682,14 @@ bool TagsPanel::_handleButtonEvent(GdkEventButton* event)
}
} else {
std::vector<SPObject *> todelete;
+ // FIXME unnecessary use of XML tree
_tree.get_selection()->selected_foreach_iter(sigc::bind<std::vector<SPObject *>*>(sigc::mem_fun(*this, &TagsPanel::_checkForDeleted), &todelete));
if (!todelete.empty()) {
for (std::vector<SPObject *>::iterator iter = todelete.begin(); iter != todelete.end(); ++iter) {
SPObject * tobj = *iter;
if (tobj && tobj->parent && tobj->getRepr() && tobj->parent->getRepr()) {
- tobj->parent->getRepr()->removeChild(tobj->getRepr());
+ //tobj->parent->getRepr()->removeChild(tobj->getRepr());
+ tobj->deleteObject(true, true);
}
}
} else if (obj && obj->parent && obj->getRepr() && obj->parent->getRepr()) {