summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Wybrow <michael.wybrow@monash.edu>2010-08-13 07:42:18 +0000
committerMichael Wybrow <mjwybrow@users.sf.net>2010-08-13 07:42:18 +0000
commit64ab9ebc54cfbbd090a5788b12801b40ba2245d2 (patch)
tree0b64d77c82f2fc714934163425f624a29bae0cf5
parentFix bug #612756 where connectors with zero length (due to being clipped (diff)
parentFixes bug #478597 where the connector context crash due to asserting that (diff)
downloadinkscape-64ab9ebc54cfbbd090a5788b12801b40ba2245d2.tar.gz
inkscape-64ab9ebc54cfbbd090a5788b12801b40ba2245d2.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 r9708)
-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;
}
}