chart2/source/view/charttypes/BubbleChart.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 12b9c12eac34e4bd383c27c52355910cdd813424
Author:     Kurt Nordback <kurt.nordb...@protonmail.com>
AuthorDate: Tue Aug 20 07:20:18 2024 -0600
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Nov 15 14:57:40 2024 +0100

    tdf#79450 - Other: Bubbles too near disappear in a Calc chart
    
    An existing optimization avoids rendering a bubble chart bubble if
    it is nearly the same size and position as the preceding bubble. This
    results in incorrect rendering in the case of transparent fill. Skip
    the optimization in this case.
    
    Change-Id: Ie21235a66c4d22ac2ce793264ef5bb7b6434117e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172115
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/view/charttypes/BubbleChart.cxx 
b/chart2/source/view/charttypes/BubbleChart.cxx
index 88f39b3a5235..32593df5d036 100644
--- a/chart2/source/view/charttypes/BubbleChart.cxx
+++ b/chart2/source/view/charttypes/BubbleChart.cxx
@@ -261,9 +261,15 @@ void BubbleChart::createShapes()
                         rPosHelper.transformLogicToScene(fLogicX, fLogicY, 
fLogicZ, false));
 
                     //better performance for big data
+                    uno::Reference< beans::XPropertySet > 
xProps(pSeries->getPropertiesOfPoint( nIndex ));
+                    sal_Int16 nFillTransparency(0);
+                    xProps->getPropertyValue(u"FillTransparence"_ustr) >>= 
nFillTransparency;
+                    const bool bIsTransparent(nFillTransparency != 0);
+
                     FormerPoint aFormerPoint( 
aSeriesFormerPointMap[pSeries.get()] );
                     
rPosHelper.setCoordinateSystemResolution(m_aCoordinateSystemResolution);
                     if (!pSeries->isAttributedDataPoint(nIndex)
+                        && !bIsTransparent  // don't short-cut if there's 
transparency
                         && rPosHelper.isSameForGivenResolution(
                                aFormerPoint.m_fX, aFormerPoint.m_fY, 
aFormerPoint.m_fZ,
                                aScaledLogicPosition.PositionX, 
aScaledLogicPosition.PositionY,

Reply via email to