summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Wybrow <michael.wybrow@monash.edu>2010-08-13 07:39:25 +0000
committerMichael Wybrow <mjwybrow@users.sf.net>2010-08-13 07:39:25 +0000
commitb40042fdedbe369317c253b0bb232b3291d24b9a (patch)
tree0b64d77c82f2fc714934163425f624a29bae0cf5 /src
parentFix bug #612756 where connectors with zero length (due to being clipped (diff)
downloadinkscape-b40042fdedbe369317c253b0bb232b3291d24b9a.tar.gz
inkscape-b40042fdedbe369317c253b0bb232b3291d24b9a.zip
Fixes bug #478597 where the connector context crash due to asserting that
paths marked as connectors were always open. Now it just treats them as connectors if they are open, or normal objects otherwise. Fixed bugs: - https://launchpad.net/bugs/478597 (bzr r9707.1.1)
Diffstat (limited to 'src')
-rw-r--r--src/connector-context.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/connector-context.cpp b/src/connector-context.cpp
index 1263a9215..f862abac4 100644
--- a/src/connector-context.cpp
+++ b/src/connector-context.cpp
@@ -1908,8 +1908,10 @@ static bool cc_item_is_shape(SPItem *item)
bool cc_item_is_connector(SPItem *item)
{
if (SP_IS_PATH(item)) {
- if (SP_PATH(item)->connEndPair.isAutoRoutingConn()) {
- g_assert( SP_PATH(item)->original_curve ? !(SP_PATH(item)->original_curve->is_closed()) : !(SP_PATH(item)->curve->is_closed()) );
+ bool closed = SP_PATH(item)->original_curve ? SP_PATH(item)->original_curve->is_closed() : SP_PATH(item)->curve->is_closed();
+ if (SP_PATH(item)->connEndPair.isAutoRoutingConn() && !closed) {
+ // To be considered a connector, an object must be a non-closed
+ // path that is marked with a "inkscape:connector-type" attribute.
return true;
}
}