[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - sw/source

Attila Bakos (via logerrit) logerrit at kemper.freedesktop.org
Fri Jun 19 13:12:18 UTC 2020


 sw/source/core/doc/textboxhelper.cxx |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

New commits:
commit c1c93987acbb83d8352656d77ee515e98c63d46b
Author:     Attila Bakos <bakos.attilakaroly at nisz.hu>
AuthorDate: Fri May 29 14:09:30 2020 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Fri Jun 19 15:11:47 2020 +0200

    tdf#130802 SwTextBoxHelper::syncFlyFrameAttr: fix dragging
    
    Dragging the selected shapes resulted broken text boxes:
    the text showed outside of the shapes. This is fixed in
    the case of paragraph, character and page anchoring.
    
    Co-authored-by: Tibor Nagy (NISZ)
    
    Change-Id: Iaea65ee26bad60c09ada4875636416d4a7c7e80b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95136
    Tested-by: László Németh <nemeth at numbertext.org>
    Reviewed-by: László Németh <nemeth at numbertext.org>
    (cherry picked from commit a0bdc5df1f2f51477ae2b22d91623a94caac1a3e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95980
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index 1dcc7e242016..e2b1e9fa6498 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -35,6 +35,7 @@
 #include <svl/itemiter.hxx>
 #include <comphelper/sequenceashashmap.hxx>
 #include <sal/log.hxx>
+#include <svx/anchorid.hxx>
 
 #include <com/sun/star/document/XActionLockable.hpp>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
@@ -687,6 +688,12 @@ void SwTextBoxHelper::syncFlyFrameAttr(SwFrameFormat& rShape, SfxItemSet const&
         const SfxPoolItem* pItem = aIter.GetCurItem();
         do
         {
+            if (rShape.GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR)
+            {
+                SwFormatAnchor pShapeAnch = rShape.GetAnchor();
+                aTextBoxSet.Put(pShapeAnch);
+            }
+
             switch (pItem->Which())
             {
                 case RES_VERT_ORIENT:
@@ -698,6 +705,10 @@ void SwTextBoxHelper::syncFlyFrameAttr(SwFrameFormat& rShape, SfxItemSet const&
                     if (!aRect.IsEmpty())
                         aOrient.SetPos(aOrient.GetPos() + aRect.getY());
 
+                    if (rShape.GetAnchor().GetAnchorId() == RndStdIds::FLY_AT_PAGE)
+                    {
+                        aOrient.SetRelationOrient(rShape.GetVertOrient().GetRelationOrient());
+                    }
                     aTextBoxSet.Put(aOrient);
 
                     // restore height (shrunk for extending beyond the page bottom - tdf#91260)
@@ -718,6 +729,10 @@ void SwTextBoxHelper::syncFlyFrameAttr(SwFrameFormat& rShape, SfxItemSet const&
                     if (!aRect.IsEmpty())
                         aOrient.SetPos(aOrient.GetPos() + aRect.getX());
 
+                    if (rShape.GetAnchor().GetAnchorId() == RndStdIds::FLY_AT_PAGE)
+                    {
+                        aOrient.SetRelationOrient(rShape.GetHoriOrient().GetRelationOrient());
+                    }
                     aTextBoxSet.Put(aOrient);
                 }
                 break;


More information about the Libreoffice-commits mailing list