summaryrefslogtreecommitdiffstats
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
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)
-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;
}
}