svx/source/sdr/contact/viewobjectcontact.cxx |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

New commits:
commit 711c722948ccf265a59c519b8b1f591e23ec31f3
Author:     Noel Grandin <[email protected]>
AuthorDate: Mon Dec 8 12:54:58 2025 +0200
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Dec 9 00:42:57 2025 +0100

    tdf#169414 Ghost object remains in original position after object is moved
    
    revert
      commit ef9daaea93839495d22dc53b3f7b46e304d98a04
      Author: Noel Grandin <[email protected]>
      Date:   Mon Nov 24 14:03:22 2025 +0200
      no need to call InvalidatePartOfView in ViewObjectContact::ActionChanged
    
    Change-Id: I136b5e4a424d36268278d1aa46179e5bb4120677
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195220
    Reviewed-by: Noel Grandin <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit de9e8e4e3fa6f596c3a6b11c57c27d4131fbbda6)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195242
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx 
b/svx/source/sdr/contact/viewobjectcontact.cxx
index 122813c33420..9d814c5038b8 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -227,9 +227,20 @@ void ViewObjectContact::ActionChanged()
     // set local flag
     mbLazyInvalidate = true;
 
-    // reset gridOffset, it needs to be recalculated
-    if (GetObjectContact().supportsGridOffsets())
-        resetGridOffset();
+    // force ObjectRange
+    getObjectRange();
+
+    if(!getObjectRange().isEmpty())
+    {
+        // invalidate current valid range
+        GetObjectContact().InvalidatePartOfView(maObjectRange);
+
+        // reset gridOffset, it needs to be recalculated
+        if (GetObjectContact().supportsGridOffsets())
+            resetGridOffset();
+        else
+            maObjectRange.reset();
+    }
 
     // register at OC for lazy invalidate
     GetObjectContact().setLazyInvalidate(*this);

Reply via email to