svx/source/svdraw/svdpntv.cxx      |   12 ++++++++++--
 sw/source/core/frmedt/feshview.cxx |    7 ++++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

New commits:
commit a0612242a395e1be1fe8383537bc5a82d6b882ac
Author:     Pranam Lashkari <lpra...@collabora.com>
AuthorDate: Mon Jun 17 00:34:40 2024 +0300
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Mon Jun 17 10:49:59 2024 +0200

    LOK: fixed incorrect Logic point calculation for Map mode
    
    problem:
    it was very difficult to select line in online,
    specifically in writer if line is very think and
    it was almost impossible to select line
    
    Change-Id: Ib641cd3d9795b93d47c78bc8f57211f51714844d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168837
    Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>

diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 780227f4a117..5fcea85745f5 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -334,8 +334,16 @@ sal_uInt16 SdrPaintView::ImpGetHitTolLogic(short nHitTol, 
const OutputDevice* pO
 void SdrPaintView::TheresNewMapMode()
 {
     if (mpActualOutDev) {
-        
mnHitTolLog=static_cast<sal_uInt16>(mpActualOutDev->PixelToLogic(Size(mnHitTolPix,0)).Width());
-        
mnMinMovLog=static_cast<sal_uInt16>(mpActualOutDev->PixelToLogic(Size(mnMinMovPix,0)).Width());
+        if (comphelper::LibreOfficeKit::isActive())
+        {
+            
mnHitTolLog=static_cast<sal_uInt16>(OutputDevice::LogicToLogic(Size(mnHitTolPix,0),
 MapMode(MapUnit::MapPixel), mpActualOutDev->GetMapMode()).Width());
+            
mnMinMovLog=static_cast<sal_uInt16>(OutputDevice::LogicToLogic(Size(mnMinMovPix,0),
 MapMode(MapUnit::MapPixel), mpActualOutDev->GetMapMode()).Width());
+        }
+        else
+        {
+            
mnHitTolLog=static_cast<sal_uInt16>(mpActualOutDev->PixelToLogic(Size(mnHitTolPix,0)).Width());
+            
mnMinMovLog=static_cast<sal_uInt16>(mpActualOutDev->PixelToLogic(Size(mnMinMovPix,0)).Width());
+        }
     }
 }
 
diff --git a/sw/source/core/frmedt/feshview.cxx 
b/sw/source/core/frmedt/feshview.cxx
index 353cb5214ea8..88a14d033b50 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -239,7 +239,12 @@ bool SwFEShell::SelectObj( const Point& rPt, sal_uInt8 
nFlag, SdrObject *pObj )
     {
         // tolerance limit of Drawing-SS
         const auto nHdlSizePixel = Imp()->GetDrawView()->GetMarkHdlSizePixel();
-        const short nMinMove = 
static_cast<short>(GetOut()->PixelToLogic(Size(nHdlSizePixel/2, 0)).Width());
+        short nMinMove;
+        if (comphelper::LibreOfficeKit::isActive())
+            nMinMove = 
static_cast<short>(OutputDevice::LogicToLogic(Size(nHdlSizePixel/2,0), 
MapMode(MapUnit::MapPixel), GetOut()->GetMapMode()).Width());
+        else
+            nMinMove = 
static_cast<short>(GetOut()->PixelToLogic(Size(nHdlSizePixel/2, 0)).Width());
+
         pDView->MarkObj( rPt, nMinMove, bAddSelect, bEnterGroup );
     }
 

Reply via email to