$OpenBSD: patch-src_common_FeatureManipulations_cpp,v 1.1 2021/04/12 10:17:11 landry Exp $

Index: src/common/FeatureManipulations.cpp
--- src/common/FeatureManipulations.cpp.orig
+++ src/common/FeatureManipulations.cpp
@@ -1658,12 +1658,12 @@ static bool axisAlignPreprocess(/* in */ PropertiesDoc
         Node *n1;
         Node *n2 = theWay->getNode(0);
         QPointF p1;
-        QPointF p2 = proj.project(n2);
+        QPointF p2 = proj.project(n2->position());
         for (int j = 0; j < theWay->size()-1; ++j, ++i) {
             n1 = n2;
             n2 = theWay->getNode(j + 1);
             p1 = p2;
-            p2 = proj.project(n2);
+            p2 = proj.project(n2->position());
             if (n1 == n2 || p1 == p2) {
                 qWarning() << "ERROR: duplicate nodes found during axis align in" << theWay->id().numId;
                 return false;
@@ -1863,7 +1863,7 @@ AxisAlignResult axisAlignRoads(Document* theDocument, 
             Node *N = theWay->getNode(i);
             if (!dups && node_pos.contains(N) && !(theWay->isClosed() && i == theWay->size()-1))
                 dups = true;
-            node_pos[N] = proj.project(N);
+            node_pos[N] = proj.project(N->position());
         }
     }
 
@@ -1983,7 +1983,7 @@ AxisAlignResult axisAlignRoads(Document* theDocument, 
     foreach (Way *theWay, theWays) {
         for (int i = 0; i < theWay->size(); ++i) {
             Node *N = theWay->getNode(i);
-            theList->add(new MoveNodeCommand(N, proj.inverse2Coord(node_pos[N]), theDocument->getDirtyOrOriginLayer(N->layer())));
+            theList->add(new MoveNodeCommand(N, proj.inverse(node_pos[N]), theDocument->getDirtyOrOriginLayer(N->layer())));
         }
     }
     return AxisAlignSuccess;
