diff options
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/main/ControllerCommandDispatch.cxx | 2 | ||||
-rw-r--r-- | chart2/source/tools/InternalDataProvider.cxx | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx index 89f6c1c9f36f..16b1f5902f75 100644 --- a/chart2/source/controller/main/ControllerCommandDispatch.cxx +++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx @@ -414,7 +414,7 @@ void ModelState::update( const Reference< frame::XModel > & xModel ) { ChartModel& rModel = dynamic_cast<ChartModel&>(*xChartDoc.get()); bHasOwnData = rModel.hasInternalDataProvider(); - bHasDataFromPivotTable = rModel.isDataFromPivotTable(); + bHasDataFromPivotTable = !bHasOwnData && rModel.isDataFromPivotTable(); } bHasMainTitle = TitleHelper::getTitle( TitleHelper::MAIN_TITLE, xModel ).is(); diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx index 7d3ff92bb828..fa77624adc44 100644 --- a/chart2/source/tools/InternalDataProvider.cxx +++ b/chart2/source/tools/InternalDataProvider.cxx @@ -1222,6 +1222,10 @@ OUString SAL_CALL InternalDataProvider::convertRangeToXML( const OUString& aRang OUString SAL_CALL InternalDataProvider::convertRangeFromXML( const OUString& aXMLRange ) { + const OUString aPivotTableID("PT@"); + if (aXMLRange.startsWith(aPivotTableID)) + return aXMLRange.copy(aPivotTableID.getLength(), aXMLRange.getLength() - aPivotTableID.getLength()); + XMLRangeHelper::CellRange aRange( XMLRangeHelper::getCellRangeFromXMLString( aXMLRange )); if( aRange.aUpperLeft.bIsEmpty ) { |