Kaydet (Commit) 677a60d4 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

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.
üst d034f035
......@@ -186,7 +186,7 @@ public:
const com::sun::star::uno::Reference< com::sun::star::chart::XChartData >& rSource );
void StartTimer();
void UpdateDirtyCharts();
void SetDirty();
void SC_DLLPUBLIC SetDirty();
void SetDiffDirty( const ScChartListenerCollection&,
BOOL bSetChartRangeLists = FALSE );
......
......@@ -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());
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment