diff --git a/src/display/control/canvas-item-ctrl.cpp b/src/display/control/canvas-item-ctrl.cpp index d38322fb5d252715657d2a7a385bd0662a16051f..65a3566665a5617b9852484db6a39eaa9352841e 100644 --- a/src/display/control/canvas-item-ctrl.cpp +++ b/src/display/control/canvas-item-ctrl.cpp @@ -379,7 +379,7 @@ void CanvasItemCtrl::_update(bool) case CANVAS_ITEM_CTRL_SHAPE_CARROW: case CANVAS_ITEM_CTRL_SHAPE_SALIGN: case CANVAS_ITEM_CTRL_SHAPE_CALIGN: { - double angle = int{_anchor} * M_PI_4 + angle_of(affine()); + double angle = (affine().flips() ? -1 : 1) * int{_anchor} * M_PI_4 + angle_of(affine()); double const half = width / 2.0; dx = -(half + 2) * cos(angle); // Add a bit to prevent tip from overlapping due to rounding errors.