diff --git a/Pilz.UI/PaintingControl/PaintingControl.vb b/Pilz.UI/PaintingControl/PaintingControl.vb index de996b9..745e3a0 100644 --- a/Pilz.UI/PaintingControl/PaintingControl.vb +++ b/Pilz.UI/PaintingControl/PaintingControl.vb @@ -335,8 +335,9 @@ Public Class PaintingControl Dim sp As PointF = savedPos(obj) If Not movedObjs.Contains(obj) Then - UpdateObjectPosition(e, obj, sp) - movedObjs.Add(obj) + If UpdateObjectPosition(e, obj, sp) Then + movedObjs.Add(obj) + End If End If If obj.PinnedObjects.Count > 0 Then @@ -348,7 +349,8 @@ Public Class PaintingControl ResumeDrawing(False) End Sub - Private Sub UpdateObjectPosition(e As MouseEventArgs, obj As PaintingObject, sp As PointF) + Private Function UpdateObjectPosition(e As MouseEventArgs, obj As PaintingObject, sp As PointF) As Boolean + Dim moved As Boolean = False Dim cancel As New CancelEventArgs(False) obj.RaiseMovingBeforePositionUpdated(cancel) @@ -356,8 +358,11 @@ Public Class PaintingControl obj.Location = New Point(e.X - sp.X + Offset.X, e.Y - sp.Y + Offset.Y) obj.RaiseMoving(New EventArgs) + moved = True End If - End Sub + + Return moved + End Function Private Function IsResizingObjs(objs As IList(Of PaintingObject)) As Boolean For Each obj As PaintingObject In objs