[Libreoffice-commits] core.git: 2 commits - sw/source vcl/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Wed Jun 5 18:50:01 UTC 2019


 sw/source/core/text/txtfrm.cxx |    9 ++++++++-
 vcl/source/outdev/map.cxx      |   20 ++++++++++++--------
 2 files changed, 20 insertions(+), 9 deletions(-)

New commits:
commit 1d74d6d3c1f724fcec4d061e17e325b332739c0c
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Jun 5 14:42:27 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Jun 5 20:49:11 2019 +0200

    make OutputDevice::LogicToLogic respect empty Rectangle in more cases
    
    follow the logic from the block at the top of the function
    
    Change-Id: I3756eac9eb4fddb239a433927c52a505c7ab9b36
    Reviewed-on: https://gerrit.libreoffice.org/73547
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index 5a91bfb274c3..18a015ce5129 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -1876,22 +1876,26 @@ tools::Rectangle OutputDevice::LogicToLogic( const tools::Rectangle& rRectSource
     {
         ENTER4( rMapModeSource, rMapModeDest );
 
-        return tools::Rectangle( fn5( rRectSource.Left() + aMapResSource.mnMapOfsX,
+        auto left = fn5( rRectSource.Left() + aMapResSource.mnMapOfsX,
                                aMapResSource.mnMapScNumX, aMapResDest.mnMapScDenomX,
                                aMapResSource.mnMapScDenomX, aMapResDest.mnMapScNumX ) -
-                          aMapResDest.mnMapOfsX,
-                          fn5( rRectSource.Top() + aMapResSource.mnMapOfsY,
+                          aMapResDest.mnMapOfsX;
+        auto top = fn5( rRectSource.Top() + aMapResSource.mnMapOfsY,
                                aMapResSource.mnMapScNumY, aMapResDest.mnMapScDenomY,
                                aMapResSource.mnMapScDenomY, aMapResDest.mnMapScNumY ) -
-                          aMapResDest.mnMapOfsY,
-                          fn5( rRectSource.Right() + aMapResSource.mnMapOfsX,
+                          aMapResDest.mnMapOfsY;
+        if (rRectSource.IsEmpty())
+            return tools::Rectangle(left, top);
+
+        auto right = fn5( rRectSource.Right() + aMapResSource.mnMapOfsX,
                                aMapResSource.mnMapScNumX, aMapResDest.mnMapScDenomX,
                                aMapResSource.mnMapScDenomX, aMapResDest.mnMapScNumX ) -
-                          aMapResDest.mnMapOfsX,
-                          fn5( rRectSource.Bottom() + aMapResSource.mnMapOfsY,
+                          aMapResDest.mnMapOfsX;
+        auto bottom = fn5( rRectSource.Bottom() + aMapResSource.mnMapOfsY,
                                aMapResSource.mnMapScNumY, aMapResDest.mnMapScDenomY,
                                aMapResSource.mnMapScDenomY, aMapResDest.mnMapScNumY ) -
-                          aMapResDest.mnMapOfsY );
+                          aMapResDest.mnMapOfsY;
+        return tools::Rectangle(left, top, right, bottom);
     }
 }
 
commit 597ede6c2eecd9a3c4dca5ff610050080c0ded7c
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Jun 5 14:07:18 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Jun 5 20:48:56 2019 +0200

    crash testing export of ooo72915-2.odt to ooo72915-2.doc
    
    blind fix
    
    Change-Id: I670b851405a1a41dbb7c85d495de9144dffd0194
    Reviewed-on: https://gerrit.libreoffice.org/73542
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 3125b2362510..5dc660ba0d4a 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -215,12 +215,17 @@ namespace sw {
             SwpHints const*const pHints(0 < m_CurrentExtent
                 ? m_pMerged->extents[m_CurrentExtent-1].pNode->GetpSwpHints()
                 : nullptr);
-            m_CurrentHint = pHints ? pHints->Count() : 0;
+            if (pHints)
+            {
+                pHints->SortIfNeedBe();
+                m_CurrentHint = pHints->Count();
+            }
         }
         else
         {
             if (SwpHints const*const pHints = m_pNode->GetpSwpHints())
             {
+                pHints->SortIfNeedBe();
                 m_CurrentHint = pHints->Count();
             }
         }
@@ -265,6 +270,8 @@ namespace sw {
                     SwpHints const*const pHints(
                         m_pMerged->extents[m_CurrentExtent-1].pNode->GetpSwpHints());
                     m_CurrentHint = pHints ? pHints->Count() : 0; // reset
+                    if (pHints)
+                        pHints->SortIfNeedBe();
                 }
             }
             return nullptr;


More information about the Libreoffice-commits mailing list