summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2010-01-27 15:57:09 -0500
committerKohei Yoshida <kyoshida@novell.com>2010-01-27 15:57:09 -0500
commit677a60d4a1a7c4a7ed7954a95d365de94d281f0c (patch)
tree4a5bd3741eaea796ca7a0fca5be8045308fc8c7b /sc/source
parentd034f035daa8d597a27f00cfba8297cc93e7e0c8 (diff)
kohei03: #i104769# Fixed the chart update problem for real.
My previous fix was not sufficient. I forgot to: 1) set the "used" flag to the listener when inserting it, which caused the listener to get removed right after it was inserted. 2) Set all chart objects "dirty" upon import. Because of that, the timer didn't start when the document initially loaded.
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/filter/excel/xichart.cxx2
-rw-r--r--sc/source/filter/excel/xiescher.cxx4
2 files changed, 5 insertions, 1 deletions
diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx
index 5f722234cd3c..7030bb56833d 100644
--- a/sc/source/filter/excel/xichart.cxx
+++ b/sc/source/filter/excel/xichart.cxx
@@ -3575,7 +3575,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc, ScfProgressB
{
::std::auto_ptr<ScChartListener> pListener(
new ScChartListener(rObjName, pDoc, pRefTokens.release()));
- pListener->SetDirty(true);
+ pListener->SetUsed(true);
pListener->StartListeningTo();
pChartCollection->Insert(pListener.release());
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index 5443575ac50f..db4873d70e6f 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -105,6 +105,7 @@
#include "convuno.hxx"
#include "postit.hxx"
#include "globstr.hrc"
+#include "chartlis.hxx"
#include "fprogressbar.hxx"
#include "xltracer.hxx"
@@ -3755,6 +3756,9 @@ void XclImpObjectManager::ConvertObjects()
rDffManager.ProcessDrawing( maDffStrm, *aPIt );
}
}
+ ScChartListenerCollection* pChartListeners = GetDoc().GetChartListenerCollection();
+ if (pChartListeners && pChartListeners->GetCount())
+ pChartListeners->SetDirty();
}
String XclImpObjectManager::GetDefaultObjName( const XclImpDrawObjBase& rDrawObj ) const