diff --git a/src/app/puzzle/carousel/vpcarrouselpiecelist.cpp b/src/app/puzzle/carousel/vpcarrouselpiecelist.cpp index c39fa26cc..b4538f0a7 100644 --- a/src/app/puzzle/carousel/vpcarrouselpiecelist.cpp +++ b/src/app/puzzle/carousel/vpcarrouselpiecelist.cpp @@ -210,9 +210,15 @@ void VPCarrouselPieceList::contextMenuEvent(QContextMenuEvent *event) if (selectedAction == moveAction) { - piece->ClearTransformations(); - auto *command = new VPUndoMovePieceOnSheet(layout->GetFocusedSheet(), piece); - layout->UndoStack()->push(command); + VPSheetPtr sheet = layout->GetFocusedSheet(); + if (not sheet.isNull()) + { + piece->ClearTransformations(); + QRectF rect = sheet->GetMarginsRect(); + piece->SetPosition(QPointF(rect.topLeft().x() + 1, rect.topLeft().y() + 1)); + auto *command = new VPUndoMovePieceOnSheet(layout->GetFocusedSheet(), piece); + layout->UndoStack()->push(command); + } } else if (selectedAction == deleteAction) {