sc/source/ui/unoobj/cellvaluebinding.cxx | 23 +++++++++++++++++++++++ svx/source/sdr/overlay/overlayselection.cxx | 10 ++++++++++ 2 files changed, 33 insertions(+)
New commits: commit 1f86fdd4b5428a8c7b253051cca93429dc71f894 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Apr 23 16:10:48 2024 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Apr 23 18:50:35 2024 +0200 tdf#160787 Calc active cell cursor has small transparent corners clearly I don't understand something about B2DPolyPolygon, revert part of commit 7b1405689d4246e0e37e8759f03e1962af964cec Author: Noel Grandin <noelgran...@gmail.com> Date: Fri Apr 19 22:56:04 2024 +0200 reduce the number of drawing primitives we create in OverlaySelection Change-Id: If8f07d021543e2686a3acfc6a0d38b2ebc962de4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166543 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/svx/source/sdr/overlay/overlayselection.cxx b/svx/source/sdr/overlay/overlayselection.cxx index d4a7b45beb8f..a5598c1d2125 100644 --- a/svx/source/sdr/overlay/overlayselection.cxx +++ b/svx/source/sdr/overlay/overlayselection.cxx @@ -214,6 +214,16 @@ namespace sdr::overlay aRGBColor = basegfx::BColor(1.0, 1.0, 1.0); } + aRetval.resize(nCount); + for(sal_uInt32 a(0);a < nCount; a++) + { + basegfx::B2DPolygon aPolygon(basegfx::utils::createPolygonFromRect(maRanges[a])); + aRetval[a] = + new drawinglayer::primitive2d::PolyPolygonColorPrimitive2D( + basegfx::B2DPolyPolygon(std::move(aPolygon)), + aRGBColor); + } + basegfx::B2DPolyPolygon aPolyPolygon; aPolyPolygon.reserve(nCount); for(sal_uInt32 a(0);a < nCount; a++) commit 979164938007e4774b7718abcb20fded9a00839f Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Apr 23 15:31:37 2024 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Apr 23 18:50:20 2024 +0200 tdf#160768 Changing value in a text box control with a link cell set up, Crash regression from commit 7510cca63690ea97eb02a43f698fc183c3d0434a Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Tue Mar 26 15:56:02 2024 +0200 convert OCellValueBinding to comphelper::WeakComponentImplHelper Change-Id: I36ec4cca7a48992b29d6c2ff5c87fb0fed1c8c3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166540 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sc/source/ui/unoobj/cellvaluebinding.cxx b/sc/source/ui/unoobj/cellvaluebinding.cxx index d1fa61175557..c728f503a856 100644 --- a/sc/source/ui/unoobj/cellvaluebinding.cxx +++ b/sc/source/ui/unoobj/cellvaluebinding.cxx @@ -286,7 +286,12 @@ namespace calc OUString sText; aValue >>= sText; if ( m_xCellText.is() ) + { + // might call back into us via modified(EventObject&) + aGuard.unlock(); m_xCellText->setString( sText ); + aGuard.lock(); + } } break; @@ -302,7 +307,12 @@ namespace calc double nCellValue = bValue ? 1.0 : 0.0; if ( m_xCell.is() ) + { + // might call back into us via modified(EventObject&) + aGuard.unlock(); m_xCell->setValue( nCellValue ); + aGuard.lock(); + } setBooleanFormat(); } @@ -315,7 +325,12 @@ namespace calc double nValue = 0; aValue >>= nValue; if ( m_xCell.is() ) + { + // might call back into us via modified(EventObject&) + aGuard.unlock(); m_xCell->setValue( nValue ); + aGuard.lock(); + } } break; @@ -327,7 +342,12 @@ namespace calc aValue >>= nValue; // list index from control layer (0-based) ++nValue; // the list position value in the cell is 1-based if ( m_xCell.is() ) + { + // might call back into us via modified(EventObject&) + aGuard.unlock(); m_xCell->setValue( nValue ); + aGuard.lock(); + } } break; @@ -341,7 +361,10 @@ namespace calc { Sequence<Any> aInner(1); // one empty element Sequence< Sequence<Any> > aOuter( &aInner, 1 ); // one row + // might call back into us via modified(EventObject&) + aGuard.unlock(); xData->setDataArray( aOuter ); + aGuard.lock(); } } break;