From abf707b5bc033615b24f7048fcccaa3a9a5148c6 Mon Sep 17 00:00:00 2001 From: Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> Date: Mon, 18 Feb 2019 14:27:54 +1100 Subject: Stop crash on loading text on path If path is below text in xml, early attempt to get text path leads to call to nullptr. Fixes https://gitlab.com/inkscape/inbox/issues/134 --- src/object/sp-use-reference.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/object/sp-use-reference.cpp') diff --git a/src/object/sp-use-reference.cpp b/src/object/sp-use-reference.cpp index 61a8330a8..f2b857566 100644 --- a/src/object/sp-use-reference.cpp +++ b/src/object/sp-use-reference.cpp @@ -25,7 +25,7 @@ bool SPUseReference::_acceptObject(SPObject * const obj) const { - return URIReference::_acceptObject(obj); + return URIReference::_acceptObject(obj); } @@ -208,18 +208,16 @@ void SPUsePath::refresh_source() SPItem *item = SP_ITEM(refobj); - if (SP_IS_SHAPE(item)) - { - originalPath = SP_SHAPE(item)->getCurve()->copy(); - } - else if (SP_IS_TEXT(item)) - { + if (SP_IS_SHAPE(item)) { + SPCurve *originalCurve = SP_SHAPE(item)->getCurve(); + if (originalCurve != nullptr) { + originalPath = originalCurve->copy(); + } else { + sourceDirty = true; + } + } else if (SP_IS_TEXT(item)) { originalPath = SP_TEXT(item)->getNormalizedBpath()->copy(); } - else - { - return; - } } -- cgit v1.2.3