summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/qa/extras/chart2import.cxx10
-rw-r--r--oox/source/drawingml/fillproperties.cxx4
2 files changed, 13 insertions, 1 deletions
diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx
index fa3fe8fef6e2..8e38308ff56f 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -840,6 +840,16 @@ void Chart2ImportTest::testBnc889755()
CPPUNIT_ASSERT_EQUAL(OUString("Nov-13"), aRowLabels[13]);
CPPUNIT_ASSERT_EQUAL(OUString("Dec-13"), aRowLabels[14]);
CPPUNIT_ASSERT_EQUAL(OUString("Jan-14"), aRowLabels[15]);
+
+ //tdf#139940 - the title's gradient was lost and was filled with solid blue, instead of a "blue underline".
+ uno::Reference<drawing::XDrawPagesSupplier> xDoc(mxComponent, uno::UNO_QUERY_THROW);
+ uno::Reference<drawing::XDrawPage> xPage(xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW);
+ // Shape "Title 3"
+ uno::Reference<beans::XPropertySet> xShapeProps(xPage->getByIndex(5), uno::UNO_QUERY_THROW);
+ awt::Gradient aTransparence;
+ xShapeProps->getPropertyValue("FillTransparenceGradient") >>= aTransparence;
+ CPPUNIT_ASSERT(aTransparence.StartColor != aTransparence.EndColor);
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0xffffff), aTransparence.StartColor);
}
void Chart2ImportTest::testBnc882383()
diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx
index aa97dfbe4994..a4eedfaa6d63 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -624,6 +624,9 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap,
aGradient.Angle = static_cast< sal_Int16 >( (8100 - (nDmlAngle / (PER_DEGREE / 10))) % 3600 );
Color aStartColor, aEndColor;
+ // Make a note where the widest segment stops, because we will try to grow it next.
+ auto aWidestSegmentEnd = std::next(aWidestSegmentStart);
+
// Try to grow the widest segment backwards: if a previous segment has the same
// color, just different transparency, include it.
while (aWidestSegmentStart != aGradientStops.begin())
@@ -638,7 +641,6 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap,
aWidestSegmentStart = it;
}
- auto aWidestSegmentEnd = std::next(aWidestSegmentStart);
// Try to grow the widest segment forward: if a next segment has the same
// color, just different transparency, include it.
while (aWidestSegmentEnd != std::prev(aGradientStops.end()))