From f0a13fa4339ee940f267fb8787d6137b148abec9 Mon Sep 17 00:00:00 2001
From: Ingrid Halama <iha@openoffice.org>
Date: Tue, 5 Oct 2010 11:10:54 +0200
Subject: chart49: #i113103# prevent deadlock caused by mixed mutex locking
 order wiht static variable initialization

---
 chart2/source/tools/InternalDataProvider.cxx | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 chart2/source/tools/InternalDataProvider.cxx

(limited to 'chart2/source/tools/InternalDataProvider.cxx')

diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
old mode 100644
new mode 100755
-- 
cgit 


From 53eb59a4c0a49ac89cf801c14583a297637dccc1 Mon Sep 17 00:00:00 2001
From: Ingrid Halama <iha@openoffice.org>
Date: Thu, 7 Oct 2010 16:43:07 +0200
Subject: chart49: #i114953# don't crash with very complex categories

---
 chart2/source/tools/InternalDataProvider.cxx | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'chart2/source/tools/InternalDataProvider.cxx')

diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
index 4abc51be31af..26b2db4fc253 100755
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
@@ -356,9 +356,11 @@ InternalDataProvider::InternalDataProvider( const Reference< chart2::XChartDocum
                         if( xSeq.is() )
                             aStringSeq = xSeq->getTextualData(); // @todo: be able to deal with XDataSequence, too
                         sal_Int32 nLength = aStringSeq.getLength();
-                        if( static_cast< sal_Int32 >(aNewCategories.size()) < nLength )
+                        sal_Int32 nCatLength = static_cast< sal_Int32 >(aNewCategories.size());
+                        if( nCatLength < nLength )
                             aNewCategories.resize( nLength );
-
+                        else if( nLength < nCatLength )
+                            aStringSeq.realloc( nCatLength );
                         transform( aNewCategories.begin(), aNewCategories.end(), aStringSeq.getConstArray(),
                             aNewCategories.begin(), lcl_setStringAtLevel(nL) );
                     }
-- 
cgit