From b40042fdedbe369317c253b0bb232b3291d24b9a Mon Sep 17 00:00:00 2001 From: Michael Wybrow Date: Fri, 13 Aug 2010 17:39:25 +1000 Subject: 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) --- src/connector-context.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/connector-context.cpp') 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; } } -- cgit v1.2.3