Code

Refactoring SPColor to C++ and removing legacy CMYK implementation
[inkscape.git] / src / sp-conn-end-pair.cpp
index c5cc752514bd0899cd4e4ef39ee404a38164f939..7c85277768d7e87581e4d118f01b00091f030ec2 100644 (file)
@@ -164,8 +164,13 @@ SPConnEndPair::getEndpoints(NR::Point endPts[]) const {
 
     for (unsigned h = 0; h < 2; ++h) {
         if ( h2attItem[h] ) {
-            NR::Rect const bbox = h2attItem[h]->invokeBbox(sp_item_i2doc_affine(h2attItem[h]));
-            endPts[h] = bbox.midpoint();
+            NR::Maybe<NR::Rect> bbox = h2attItem[h]->getBounds(sp_item_i2doc_affine(h2attItem[h]));
+            if (bbox) {
+                endPts[h] = bbox->midpoint();
+            } else {
+                // FIXME
+                endPts[h] = NR::Point(0, 0);
+            }
         }
         else
         {
@@ -220,8 +225,8 @@ SPConnEndPair::update(void)
             NR::Point endPt[2];
             getEndpoints(endPt);
 
-            Avoid::Point src = { endPt[0][NR::X], endPt[0][NR::Y] };
-            Avoid::Point dst = { endPt[1][NR::X], endPt[1][NR::Y] };
+            Avoid::Point src(endPt[0][NR::X], endPt[0][NR::Y]);
+            Avoid::Point dst(endPt[1][NR::X], endPt[1][NR::Y]);
 
             _connRef->lateSetup(src, dst);
             _connRef->setCallback(&emitPathInvalidationNotification, _path);
@@ -283,8 +288,8 @@ SPConnEndPair::reroutePath(void)
     NR::Point endPt[2];
     getEndpoints(endPt);
 
-    Avoid::Point src = { endPt[0][NR::X], endPt[0][NR::Y] };
-    Avoid::Point dst = { endPt[1][NR::X], endPt[1][NR::Y] };
+    Avoid::Point src(endPt[0][NR::X], endPt[0][NR::Y]);
+    Avoid::Point dst(endPt[1][NR::X], endPt[1][NR::Y]);
 
     _connRef->updateEndPoint(Avoid::VertID::src, src);
     _connRef->updateEndPoint(Avoid::VertID::tar, dst);