summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-06-04 21:30:01 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-06-04 21:30:01 +0000
commit2c75064427bcd2d1e358bb492114d466b580de0c (patch)
treee64759201224d9214e5cfaf79927fa34d09f1b0b /src
parentremove clang diff file (diff)
downloadinkscape-2c75064427bcd2d1e358bb492114d466b580de0c.tar.gz
inkscape-2c75064427bcd2d1e358bb492114d466b580de0c.zip
Fix a bug adding selectors
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/styledialog.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/ui/dialog/styledialog.cpp b/src/ui/dialog/styledialog.cpp
index e14490f47..d0c4c5612 100644
--- a/src/ui/dialog/styledialog.cpp
+++ b/src/ui/dialog/styledialog.cpp
@@ -751,9 +751,16 @@ void StyleDialog::_readStyleElement()
for (auto selector : _styleBox.get_children()) {
Gtk::Box *box = dynamic_cast<Gtk::Box *>(&selector[0]);
if (box) {
- Gtk::TreeView *css_tree = dynamic_cast<Gtk::TreeView *>(box->get_children()[1]);
- Glib::RefPtr<Gtk::TreeModel> model = css_tree->get_model();
- model->foreach_iter(sigc::mem_fun(*this, &StyleDialog::_on_foreach_iter));
+ std::vector<Gtk::Widget*> childs = box->get_children();
+ if (childs.size() > 1) {
+ Gtk::TreeView *css_tree = dynamic_cast<Gtk::TreeView *>(childs[1]);
+ if (css_tree) {
+ Glib::RefPtr<Gtk::TreeModel> model = css_tree->get_model();
+ if (model) {
+ model->foreach_iter(sigc::mem_fun(*this, &StyleDialog::_on_foreach_iter));
+ }
+ }
+ }
}
}
}
@@ -838,6 +845,7 @@ void StyleDialog::_writeStyleElement(Glib::RefPtr<Gtk::TreeStore> store, Glib::u
return;
}
Inkscape::Selection *selection = getDesktop()->getSelection();
+ SP_ACTIVE_DOCUMENT->fixCSSSelectors(selector);
SPObject *obj = nullptr;
if (selection->objects().size() == 1) {
obj = selection->objects().back();
@@ -854,6 +862,8 @@ void StyleDialog::_writeStyleElement(Glib::RefPtr<Gtk::TreeStore> store, Glib::u
}
for (auto &row : store->children()) {
selector = row[_mColumns._colSelector];
+ SP_ACTIVE_DOCUMENT->fixCSSSelectors(selector);
+ row[_mColumns._colSelector] = selector;
selectorpos = row[_mColumns._colSelectorPos];
Glib::ustring opencomment = "";
Glib::ustring closecomment = "";