summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-12-20 12:56:17 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-12-20 13:16:49 -0500
commitc3bd435387ffbc6ae3c5a4861ac419d0a7092807 (patch)
tree7184cc48c55f3dc436afecfae59c2a927828c310
parent3743df7d2b7fccbc0cdbae268f29782e565103b5 (diff)
Call Yield() to unblock the main thread when refreshing.
Also, we don't seem to need this solar mutex locking and checking for needs repaint flag here anymore, and not having these make the streaming much faster esp on Windows. Change-Id: I6e8ae82e5d986492ac576d28f11e2afffe954bc2
-rw-r--r--sc/source/ui/docshell/datastream.cxx11
1 files changed, 2 insertions, 9 deletions
diff --git a/sc/source/ui/docshell/datastream.cxx b/sc/source/ui/docshell/datastream.cxx
index 493b9224bbfb..a06354eeaec2 100644
--- a/sc/source/ui/docshell/datastream.cxx
+++ b/sc/source/ui/docshell/datastream.cxx
@@ -65,15 +65,11 @@ private:
{
while (!mbTerminate)
{
- // wait for a small amount of time, so that
- // painting methods have a chance to be called.
- // And also to make UI more responsive.
- TimeValue const aTime = {0, 100000};
maStart.wait();
maStart.reset();
if (!mbTerminate)
while (mpDataStream->ImportData())
- wait(aTime);
+ ;
};
}
};
@@ -352,6 +348,7 @@ void DataStream::SetRefreshOnEmptyLine( bool bVal )
void DataStream::Refresh()
{
// Hard recalc will repaint the grid area.
+ Application::Yield();
mpDocShell->DoHardRecalc(true);
mpDocShell->SetDocumentModified(true);
@@ -513,14 +510,10 @@ void DataStream::Text2Doc() {}
bool DataStream::ImportData()
{
- SolarMutexGuard aGuard;
if (!mbValuesInLine)
// We no longer support this mode. To be deleted later.
return false;
- if (ScDocShell::GetViewData()->GetViewShell()->NeedsRepaint())
- return mbRunning;
-
Text2Doc();
return mbRunning;
}