From b8e85b0807cad755cf69557b8d28c4f7c4bd47b8 Mon Sep 17 00:00:00 2001 From: "Arcadie M. Cracan" Date: Wed, 29 Dec 2010 17:05:55 +0200 Subject: Fix bug #552289 - Ungrouping objects changes position of arrow lines. This was due to incorrect initialization of unattached connector endpoints that was part of a group. Fixed bugs: - https://launchpad.net/bugs/552289 (bzr r9988) --- src/sp-conn-end-pair.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/sp-conn-end-pair.cpp') diff --git a/src/sp-conn-end-pair.cpp b/src/sp-conn-end-pair.cpp index 0a5a6d7bd..5bce1a4f8 100644 --- a/src/sp-conn-end-pair.cpp +++ b/src/sp-conn-end-pair.cpp @@ -217,6 +217,7 @@ SPConnEndPair::getEndpoints(Geom::Point endPts[]) const { SPCurve *curve = _path->original_curve ? _path->original_curve : _path->curve; SPItem *h2attItem[2]; getAttachedItems(h2attItem); + Geom::Matrix i2d = SP_ITEM(_path)->i2doc_affine(); for (unsigned h = 0; h < 2; ++h) { if ( h2attItem[h] ) { @@ -226,10 +227,10 @@ SPConnEndPair::getEndpoints(Geom::Point endPts[]) const { else { if (h == 0) { - endPts[h] = *(curve->first_point()); + endPts[h] = *(curve->first_point())*i2d; } else { - endPts[h] = *(curve->last_point()); + endPts[h] = *(curve->last_point())*i2d; } } } -- cgit v1.2.3 From 53933f5fea9d07d1ba6304b88439fba257ee8c34 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 2 Feb 2011 22:24:36 +0100 Subject: update to latest 2geom ! (bzr r10025) --- src/sp-conn-end-pair.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/sp-conn-end-pair.cpp') diff --git a/src/sp-conn-end-pair.cpp b/src/sp-conn-end-pair.cpp index 5bce1a4f8..3cc022c39 100644 --- a/src/sp-conn-end-pair.cpp +++ b/src/sp-conn-end-pair.cpp @@ -90,7 +90,7 @@ sp_conn_end_pair_build(SPObject *object) static void -avoid_conn_transformed(Geom::Matrix const */*mp*/, SPItem *moved_item) +avoid_conn_transformed(Geom::Affine const */*mp*/, SPItem *moved_item) { SPPath *path = SP_PATH(moved_item); if (path->connEndPair.isAutoRoutingConn()) { @@ -217,7 +217,7 @@ SPConnEndPair::getEndpoints(Geom::Point endPts[]) const { SPCurve *curve = _path->original_curve ? _path->original_curve : _path->curve; SPItem *h2attItem[2]; getAttachedItems(h2attItem); - Geom::Matrix i2d = SP_ITEM(_path)->i2doc_affine(); + Geom::Affine i2d = SP_ITEM(_path)->i2doc_affine(); for (unsigned h = 0; h < 2; ++h) { if ( h2attItem[h] ) { @@ -407,7 +407,7 @@ SPConnEndPair::reroutePathFromLibavoid(void) recreateCurve( curve, _connRef, _connCurvature ); - Geom::Matrix doc2item = SP_ITEM(_path)->i2doc_affine().inverse(); + Geom::Affine doc2item = SP_ITEM(_path)->i2doc_affine().inverse(); curve->transform(doc2item); return true; -- cgit v1.2.3