diff options
Diffstat (limited to 'src/object-snapper.cpp')
| -rw-r--r-- | src/object-snapper.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp index e123173a5..1e2f71c95 100644 --- a/src/object-snapper.cpp +++ b/src/object-snapper.cpp @@ -414,8 +414,13 @@ void Inkscape::ObjectSnapper::_collectPaths(Geom::Point /*p*/, very_complex_path = sp_nodes_in_path(SP_PATH(root_item)) > 500; } - if (!very_lenghty_prose && !very_complex_path) { - SPCurve *curve = curve_for_item(root_item); + if (!very_lenghty_prose && !very_complex_path && root_item) { + SPCurve *curve = NULL; + if (SP_IS_SHAPE(root_item)) { + curve = SP_SHAPE(root_item)->getCurve(); + } else if (SP_IS_TEXT(root_item) || SP_IS_FLOWTEXT(root_item)) { + curve = te_get_layout(root_item)->convertToCurves(); + } if (curve) { // We will get our own copy of the pathvector, which must be freed at some point |
