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 ); }