svx/source/svdraw/svdpntv.cxx | 12 ++++++++++-- sw/source/core/frmedt/feshview.cxx | 7 ++++++- 2 files changed, 16 insertions(+), 3 deletions(-)
New commits: commit c8951e5462d61068ae432d999ea4150027b58135 Author: Pranam Lashkari <lpra...@collabora.com> AuthorDate: Mon Jun 17 00:34:40 2024 +0300 Commit: Pranam Lashkari <lpra...@collabora.com> CommitDate: Mon Jun 24 16:43:03 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> (cherry picked from commit a0612242a395e1be1fe8383537bc5a82d6b882ac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169010 Reviewed-by: Pranam Lashkari <lpra...@collabora.com> diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx index 1cb47c6aee3e..b7cea85b2788 100644 --- a/svx/source/svdraw/svdpntv.cxx +++ b/svx/source/svdraw/svdpntv.cxx @@ -335,8 +335,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 85639f21fb4b..6502def2006a 100644 --- a/sw/source/core/frmedt/feshview.cxx +++ b/sw/source/core/frmedt/feshview.cxx @@ -269,7 +269,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 ); }