summaryrefslogtreecommitdiffstats
path: root/src/object-snapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/object-snapper.cpp')
-rw-r--r--src/object-snapper.cpp9
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