diff options
Diffstat (limited to 'sw/source/uibase/shells/drawsh.cxx')
-rw-r--r-- | sw/source/uibase/shells/drawsh.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sw/source/uibase/shells/drawsh.cxx b/sw/source/uibase/shells/drawsh.cxx index 9f0de0c2a0f1..bd1e50e26871 100644 --- a/sw/source/uibase/shells/drawsh.cxx +++ b/sw/source/uibase/shells/drawsh.cxx @@ -210,7 +210,15 @@ void SwDrawShell::Execute(SfxRequest &rReq) const sal_uLong handleNum = handleNumItem->GetValue(); const sal_uLong newPosX = newPosXTwips->GetValue(); const sal_uLong newPosY = newPosYTwips->GetValue(); - pSdrView->MoveShapeHandle(handleNum, Point(newPosX, newPosY), OrdNum ? OrdNum->GetValue() : -1); + const Point mPoint(newPosX, newPosY); + const SdrHdl* handle = pSdrView->GetHdlList().GetHdl(handleNum); + if (handle->GetKind() == SdrHdlKind::Anchor || handle->GetKind() == SdrHdlKind::Anchor_TR) + { + rSh.FindAnchorPos(mPoint, /*bMoveIt=*/true); + pSdrView->ModelHasChanged(); + } + else + pSdrView->MoveShapeHandle(handleNum, mPoint, OrdNum ? OrdNum->GetValue() : -1); } } break; |