From ff3ab41a151ce87c6d73625e98adc23bdfb40a37 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Mon, 8 Jan 2018 00:18:14 +0100 Subject: Fix a problem with symbols when updating defs with current document set. Also fix a double XML write in path parameter unnecesary --- src/live_effects/parameter/path.cpp | 11 +++++++---- src/ui/dialog/symbols.cpp | 7 +++++-- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/live_effects/parameter/path.cpp b/src/live_effects/parameter/path.cpp index f89fad3ee..7dcd85df9 100644 --- a/src/live_effects/parameter/path.cpp +++ b/src/live_effects/parameter/path.cpp @@ -277,10 +277,13 @@ PathParam::param_editOncanvas(SPItem *item, SPDesktop * dt) r.item = reinterpret_cast(param_effect->getLPEObj()); r.lpe_key = param_key; Geom::PathVector stored_pv = _pathvector; - param_write_to_repr("M0,0 L1,0"); - gchar *svgd = sp_svg_write_path(stored_pv); - param_write_to_repr(svgd); - g_free(svgd); + if (_pathvector.empty()) { + param_write_to_repr("M0,0 L1,0"); + } else { + gchar *svgd = sp_svg_write_path(stored_pv); + param_write_to_repr(svgd); + g_free(svgd); + } } else { r.item = ref.getObject(); } diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index 4fc9f4866..623c45605 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -373,7 +373,6 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : // This might need to be a global variable so setTargetDesktop can modify it SPDefs *defs = current_document->getDefs(); - sigc::connection defsModifiedConn = defs->connectModified(sigc::mem_fun(*this, &SymbolsDialog::defsModified)); instanceConns.push_back(defsModifiedConn); @@ -852,6 +851,11 @@ void SymbolsDialog::getSymbolsTitle() { std::pair SymbolsDialog::getSymbolsSet(Glib::ustring title) { + SPDocument* symbol_doc = NULL; + Glib::ustring current = symbol_set->get_active_text(); + if (current == CURRENTDOC) { + return std::make_pair(CURRENTDOC, symbol_doc); + } if (symbol_sets[title]) { sensitive = false; symbol_set->remove_all(); @@ -867,7 +871,6 @@ SymbolsDialog::getSymbolsSet(Glib::ustring title) return std::make_pair(title, symbol_sets[title]); } using namespace Inkscape::IO::Resource; - SPDocument* symbol_doc = NULL; Glib::ustring new_title; std::regex matchtitle (".*?(.*?)<(/| /)"); -- cgit v1.2.3