summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2018-09-30 16:52:18 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2018-09-30 16:52:18 +0000
commit03cdb70a5b69360600e7c84e49a549697014d5fe (patch)
treef73a82bde42b4dac6addd27fba94c5bf4f8c5251 /src
parentFix for bug:#1299461; Some LPE fails on apply to original, but cloned elements (diff)
downloadinkscape-03cdb70a5b69360600e7c84e49a549697014d5fe.tar.gz
inkscape-03cdb70a5b69360600e7c84e49a549697014d5fe.zip
Fix for bug #1769679, Crash when opening file with live path effect
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-ruler.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/live_effects/lpe-ruler.cpp b/src/live_effects/lpe-ruler.cpp
index 8d625f88e..c3fc973c2 100644
--- a/src/live_effects/lpe-ruler.cpp
+++ b/src/live_effects/lpe-ruler.cpp
@@ -77,9 +77,12 @@ LPERuler::ruler_mark(Geom::Point const &A, Geom::Point const &n, MarkType const
double real_mark_length = mark_length;
SPDocument * document = SP_ACTIVE_DOCUMENT;
- SPNamedView *nv = sp_document_namedview(document, nullptr);
- Glib::ustring display_unit = nv->display_units->abbr;
- real_mark_length = Inkscape::Util::Quantity::convert(real_mark_length, unit.get_abbreviation(), display_unit.c_str());
+ SPNamedView *nv = sp_document_namedview(document, NULL);
+ Glib::ustring display_unit = "mm";
+ if (nv && nv->display_units) {
+ display_unit = nv->display_units->abbr;
+ real_mark_length = Inkscape::Util::Quantity::convert(real_mark_length, unit.get_abbreviation(), display_unit.c_str());
+ }
double real_minor_mark_length = minor_mark_length;
real_minor_mark_length = Inkscape::Util::Quantity::convert(real_minor_mark_length, unit.get_abbreviation(), display_unit.c_str());
@@ -132,9 +135,12 @@ LPERuler::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_i
double real_mark_distance = mark_distance;
SPDocument * document = SP_ACTIVE_DOCUMENT;
- SPNamedView *nv = sp_document_namedview(document, nullptr);
- Glib::ustring display_unit = nv->display_units->abbr;
- real_mark_distance = Inkscape::Util::Quantity::convert(real_mark_distance, unit.get_abbreviation(), display_unit.c_str());
+ SPNamedView *nv = sp_document_namedview(document, NULL);
+ Glib::ustring display_unit = "mm";
+ if (nv && nv->display_units) {
+ display_unit = nv->display_units->abbr;
+ real_mark_distance = Inkscape::Util::Quantity::convert(real_mark_distance, unit.get_abbreviation(), display_unit.c_str());
+ }
double real_offset = offset;
real_offset = Inkscape::Util::Quantity::convert(real_offset, unit.get_abbreviation(), display_unit.c_str());