summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox/formulabuffer.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-11-08 09:51:23 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-11-11 16:17:28 -0500
commit9575edc8ae21e4dd060a7d228cad98e54b490458 (patch)
tree4de19007a3c98ab18e1ae091ef4c1d3238004eb2 /sc/source/filter/oox/formulabuffer.cxx
parenta4a60b677cd31ecaf040abce20da256fed06523c (diff)
We don't need to put this in a separate thread.
We can do this on the main thread. Change-Id: I58a32d9e0ce2599c5822903393a5b698233599df
Diffstat (limited to 'sc/source/filter/oox/formulabuffer.cxx')
-rw-r--r--sc/source/filter/oox/formulabuffer.cxx36
1 files changed, 11 insertions, 25 deletions
diff --git a/sc/source/filter/oox/formulabuffer.cxx b/sc/source/filter/oox/formulabuffer.cxx
index f58e9f739a71..fa8e06ac4a5f 100644
--- a/sc/source/filter/oox/formulabuffer.cxx
+++ b/sc/source/filter/oox/formulabuffer.cxx
@@ -214,15 +214,16 @@ FormulaBuffer::SheetItem::SheetItem() :
mpSharedFormulaEntries(NULL),
mpSharedFormulaIDs(NULL) {}
-FormulaBuffer::FinalizeThread::FinalizeThread( FormulaBuffer& rParent, size_t nThreadCount ) :
- salhelper::Thread("xlsx-import-formula-buffer-finalize-thread"),
- mrParent(rParent), mnThreadCount(nThreadCount) {}
-
-FormulaBuffer::FinalizeThread::~FinalizeThread() {}
+FormulaBuffer::FormulaBuffer( const WorkbookHelper& rHelper ) : WorkbookHelper( rHelper )
+{
+}
-void FormulaBuffer::FinalizeThread::execute()
+void FormulaBuffer::finalizeImport()
{
- ScDocumentImport& rDoc = mrParent.getDocImport();
+ ISegmentProgressBarRef xFormulaBar = getProgressBar().createSegment( getProgressBar().getFreeLength() );
+
+ const size_t nThreadCount = 1;
+ ScDocumentImport& rDoc = getDocImport();
rDoc.getDoc().SetAutoNameCache(new ScAutoNameCache(&rDoc.getDoc()));
ScExternalRefManager::ApiGuard aExtRefGuard(&rDoc.getDoc());
@@ -232,11 +233,11 @@ void FormulaBuffer::FinalizeThread::execute()
std::vector<SheetItem> aSheetItems;
aSheetItems.reserve(nTabCount);
for (SCTAB nTab = 0; nTab < nTabCount; ++nTab)
- aSheetItems.push_back(mrParent.getSheetItem(nTab));
+ aSheetItems.push_back(getSheetItem(nTab));
typedef rtl::Reference<WorkerThread> WorkerThreadRef;
std::vector<WorkerThreadRef> aThreads;
- aThreads.reserve(mnThreadCount);
+ aThreads.reserve(nThreadCount);
std::vector<SheetItem>::iterator it = aSheetItems.begin(), itEnd = aSheetItems.end();
@@ -246,7 +247,7 @@ void FormulaBuffer::FinalizeThread::execute()
// lack.
while (it != itEnd)
{
- for (size_t i = 0; i < mnThreadCount; ++i)
+ for (size_t i = 0; i < nThreadCount; ++i)
{
if (it == itEnd)
break;
@@ -267,21 +268,6 @@ void FormulaBuffer::FinalizeThread::execute()
}
rDoc.getDoc().SetAutoNameCache(NULL);
-}
-
-FormulaBuffer::FormulaBuffer( const WorkbookHelper& rHelper ) : WorkbookHelper( rHelper )
-{
-}
-
-void FormulaBuffer::finalizeImport()
-{
- ISegmentProgressBarRef xFormulaBar = getProgressBar().createSegment( getProgressBar().getFreeLength() );
-
- rtl::Reference<FinalizeThread> xThreadMgr(new FinalizeThread(*this, 1));
- xThreadMgr->launch();
-
- if (xThreadMgr.is())
- xThreadMgr->join();
xFormulaBar->setPosition( 1.0 );
}