From 88a0981f89303f39ec291bd5b477e311d258425c Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 14 Nov 2013 17:42:21 +0000 Subject: More scan-build null pointer checks (bzr r12814) --- src/sp-use-reference.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/sp-use-reference.cpp') diff --git a/src/sp-use-reference.cpp b/src/sp-use-reference.cpp index ec03ffce6..642cfede8 100644 --- a/src/sp-use-reference.cpp +++ b/src/sp-use-reference.cpp @@ -215,23 +215,26 @@ void SPUsePath::refresh_source() // [tr: The bad case: no d attribute. Must check that it's a SPShape and then take the outline.] SPObject *refobj = sourceObject; if ( refobj == NULL ) return; + SPItem *item = SP_ITEM(refobj); - SPCurve *curve = NULL; - if (!SP_IS_SHAPE(item) && !SP_IS_TEXT(item)) { - return; - } - if (SP_IS_SHAPE(item)) { + + if (SP_IS_SHAPE(item)) + { curve = SP_SHAPE(item)->getCurve(); - if (curve == NULL) - return; } - if (SP_IS_TEXT(item)) { + else if (SP_IS_TEXT(item)) + { curve = SP_TEXT(item)->getNormalizedBpath(); - if (curve == NULL) { - return; - } } + else + { + return; + } + + if (curve == NULL) + return; + originalPath = new Path; originalPath->LoadPathVector(curve->get_pathvector(), item->transform, true); curve->unref(); -- cgit v1.2.3