summaryrefslogtreecommitdiff
path: root/xmloff/source/chart/SchXMLImport.cxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2008-03-05 15:46:02 +0000
committerKurt Zenker <kz@openoffice.org>2008-03-05 15:46:02 +0000
commitb7474318342bde14ff49c9cafe7146069108868f (patch)
tree224ab522b2a6a199b64117489d8938aae772d76f /xmloff/source/chart/SchXMLImport.cxx
parent420c7215ad52ce0a2fc652c9b537af20c80e86f0 (diff)
INTEGRATION: CWS rptchart01_DEV300 (1.37.48); FILE MERGED
2008/03/05 09:10:11 oj 1.37.48.2: RESYNC: (1.37-1.38); FILE MERGED 2008/01/24 13:25:43 oj 1.37.48.1: #i85225# create dataprovider only when not already set
Diffstat (limited to 'xmloff/source/chart/SchXMLImport.cxx')
-rw-r--r--xmloff/source/chart/SchXMLImport.cxx31
1 files changed, 18 insertions, 13 deletions
diff --git a/xmloff/source/chart/SchXMLImport.cxx b/xmloff/source/chart/SchXMLImport.cxx
index e4dcac0cc6fd..b91f8329a862 100644
--- a/xmloff/source/chart/SchXMLImport.cxx
+++ b/xmloff/source/chart/SchXMLImport.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: SchXMLImport.cxx,v $
*
- * $Revision: 1.38 $
+ * $Revision: 1.39 $
*
- * last change: $Author: obo $ $Date: 2008-02-26 13:31:39 $
+ * last change: $Author: kz $ $Date: 2008-03-05 16:46:02 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -929,7 +929,7 @@ void SAL_CALL SchXMLImport::setTargetDocument( const uno::Reference< lang::XComp
uno::Reference< container::XChild > xChild( xChartDoc, uno::UNO_QUERY );
uno::Reference< chart2::data::XDataReceiver > xDataReceiver( xChartDoc, uno::UNO_QUERY );
bool bHasOwnData = true;
- if( xChild.is() && xDataReceiver.is() )
+ if( xChild.is() && xDataReceiver.is())
{
Reference< lang::XMultiServiceFactory > xFact( xChild->getParent(), uno::UNO_QUERY );
if( xFact.is() )
@@ -938,20 +938,25 @@ void SAL_CALL SchXMLImport::setTargetDocument( const uno::Reference< lang::XComp
Reference< util::XNumberFormatsSupplier > xNumberFormatsSupplier( xFact, uno::UNO_QUERY );
xDataReceiver->attachNumberFormatsSupplier( xNumberFormatsSupplier );
- OUString aDataProviderServiceName( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.chart2.data.DataProvider"));
- uno::Sequence< OUString > aServiceNames( xFact->getAvailableServiceNames());
- const OUString * pBegin = aServiceNames.getConstArray();
- const OUString * pEnd = pBegin + aServiceNames.getLength();
- if( ::std::find( pBegin, pEnd, aDataProviderServiceName ) != pEnd )
+ if ( !xChartDoc->getDataProvider().is() )
{
- Reference< chart2::data::XDataProvider > xProvider(
- xFact->createInstance( aDataProviderServiceName ), uno::UNO_QUERY );
- if( xProvider.is())
+ const OUString aDataProviderServiceName( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.chart2.data.DataProvider"));
+ const uno::Sequence< OUString > aServiceNames( xFact->getAvailableServiceNames());
+ const OUString * pBegin = aServiceNames.getConstArray();
+ const OUString * pEnd = pBegin + aServiceNames.getLength();
+ if( ::std::find( pBegin, pEnd, aDataProviderServiceName ) != pEnd )
{
- xDataReceiver->attachDataProvider( xProvider );
- bHasOwnData = false;
+ Reference< chart2::data::XDataProvider > xProvider(
+ xFact->createInstance( aDataProviderServiceName ), uno::UNO_QUERY );
+ if( xProvider.is())
+ {
+ xDataReceiver->attachDataProvider( xProvider );
+ bHasOwnData = false;
+ }
}
}
+ else
+ bHasOwnData = false;
}
// else we have no parent => we have our own data