chart2/source/view/charttypes/BarChart.cxx     |    9 ++++++---
 chart2/source/view/charttypes/BubbleChart.cxx  |   18 ++++++++++++------
 chart2/source/view/charttypes/GL3DBarChart.cxx |    4 +++-
 chart2/source/view/charttypes/PieChart.cxx     |    9 ++++++---
 chart2/source/view/main/VDataSeries.cxx        |    2 +-
 5 files changed, 28 insertions(+), 14 deletions(-)

New commits:
commit 701f4543f316ff3fdccdab4f0ed9b393d2391d2f
Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk>
Date:   Sun Jun 22 03:11:35 2014 +0200

    don't try to set property mapping if there is no value
    
    Change-Id: I422d651e303553e2ce30895b44b8d96664418c19
    Reviewed-on: https://gerrit.libreoffice.org/9850
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/chart2/source/view/charttypes/BarChart.cxx 
b/chart2/source/view/charttypes/BarChart.cxx
index aa53db0..cf46db8 100644
--- a/chart2/source/view/charttypes/BarChart.cxx
+++ b/chart2/source/view/charttypes/BarChart.cxx
@@ -808,9 +808,12 @@ void BarChart::createShapes()
 
                             if(bHasFillColorMapping)
                             {
-                                uno::Reference< beans::XPropertySet > xProps( 
xShape, uno::UNO_QUERY_THROW );
-                                xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>(
-                                                
pSeries->getValueByProperty(nPointIndex, "FillColor"))));
+                                double nPropVal = 
pSeries->getValueByProperty(nPointIndex, "FillColor");
+                                if(!rtl::math::isNan(nPropVal))
+                                {
+                                    uno::Reference< beans::XPropertySet > 
xProps( xShape, uno::UNO_QUERY_THROW );
+                                    xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>(nPropVal)));
+                                }
                             }
                             //set name/classified ObjectID (CID)
                             ShapeFactory::setShapeName(xShape
diff --git a/chart2/source/view/charttypes/BubbleChart.cxx 
b/chart2/source/view/charttypes/BubbleChart.cxx
index c8c6db5..45d91a6 100644
--- a/chart2/source/view/charttypes/BubbleChart.cxx
+++ b/chart2/source/view/charttypes/BubbleChart.cxx
@@ -324,15 +324,21 @@ void BubbleChart::createShapes()
 
                         if(bHasFillColorMapping)
                         {
-                            uno::Reference< beans::XPropertySet > xProps( 
xShape, uno::UNO_QUERY_THROW );
-                            xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>(
-                                            
pSeries->getValueByProperty(nIndex, "FillColor"))));
+                            double nPropVal = 
pSeries->getValueByProperty(nIndex, "FillColor");
+                            if(!rtl::math::isNan(nPropVal))
+                            {
+                                uno::Reference< beans::XPropertySet > xProps( 
xShape, uno::UNO_QUERY_THROW );
+                                xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>(nPropVal)));
+                            }
                         }
                         if(bHasBorderColorMapping)
                         {
-                            uno::Reference< beans::XPropertySet > xProps( 
xShape, uno::UNO_QUERY_THROW );
-                            xProps->setPropertyValue("LineColor", 
uno::makeAny(static_cast<sal_Int32>(
-                                            
pSeries->getValueByProperty(nIndex, "LineColor"))));
+                            double nPropVal = 
pSeries->getValueByProperty(nIndex, "LineColor");
+                            if(!rtl::math::isNan(nPropVal))
+                            {
+                                uno::Reference< beans::XPropertySet > xProps( 
xShape, uno::UNO_QUERY_THROW );
+                                xProps->setPropertyValue("LineColor", 
uno::makeAny(static_cast<sal_Int32>(nPropVal)));
+                            }
                         }
 
                         m_pShapeFactory->setShapeName( xShape, "MarkHandles" );
diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx 
b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 6b7054e..4c52dea 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -114,7 +114,9 @@ void GL3DBarChart::create3DShapes(const 
boost::ptr_vector<VDataSeries>& rDataSer
         {
             if(bMappedFillProperty)
             {
-                nColor = 
static_cast<sal_uInt32>(rDataSeries.getValueByProperty(nIndex, "FillColor"));
+                double nPropVal = rDataSeries.getValueByProperty(nIndex, 
"FillColor");
+                if(!rtl::math::isNan(nPropVal))
+                    nColor = static_cast<sal_uInt32>(nPropVal);
             }
 
             float nVal = rDataSeries.getYValue(nIndex);
diff --git a/chart2/source/view/charttypes/PieChart.cxx 
b/chart2/source/view/charttypes/PieChart.cxx
index d4636ee..4059c12 100644
--- a/chart2/source/view/charttypes/PieChart.cxx
+++ b/chart2/source/view/charttypes/PieChart.cxx
@@ -436,9 +436,12 @@ void PieChart::createShapes()
 
                 if(bHasFillColorMapping)
                 {
-                    uno::Reference< beans::XPropertySet > xProps( xPointShape, 
uno::UNO_QUERY_THROW );
-                    xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>(
-                                    pSeries->getValueByProperty(nPointIndex, 
"FillColor"))));
+                    double nPropVal = pSeries->getValueByProperty(nPointIndex, 
"FillColor");
+                    if(!rtl::math::isNan(nPropVal))
+                    {
+                        uno::Reference< beans::XPropertySet > xProps( 
xPointShape, uno::UNO_QUERY_THROW );
+                        xProps->setPropertyValue("FillColor", 
uno::makeAny(static_cast<sal_Int32>( nPropVal)));
+                    }
                 }
 
                 //create label
diff --git a/chart2/source/view/main/VDataSeries.cxx 
b/chart2/source/view/main/VDataSeries.cxx
index 0285382..2f4b968 100644
--- a/chart2/source/view/main/VDataSeries.cxx
+++ b/chart2/source/view/main/VDataSeries.cxx
@@ -1117,7 +1117,7 @@ double VDataSeries::getValueByProperty( sal_Int32 nIndex, 
const OUString& rPropN
     if(itr == maPropertyMap.end())
     {
         double fNan;
-        ::rtl::math::setNan( & fNan );
+        ::rtl::math::setNan( &fNan );
         return fNan;
     }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to