[Libreoffice-commits] core.git: sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Fri Dec 20 12:32:57 PST 2013


 sc/source/ui/docshell/datastream.cxx |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

New commits:
commit f2a3848bee3f3deeb9dde43de51737cbdde84018
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Fri Dec 20 15:29:45 2013 -0500

    Put all these back in...
    
    Change-Id: If2168a57e0c77cf7fe85d66a6c6fd6a810d45035

diff --git a/sc/source/ui/docshell/datastream.cxx b/sc/source/ui/docshell/datastream.cxx
index a06354e..d43fdeb 100644
--- a/sc/source/ui/docshell/datastream.cxx
+++ b/sc/source/ui/docshell/datastream.cxx
@@ -65,11 +65,15 @@ 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, 1000};
             maStart.wait();
             maStart.reset();
             if (!mbTerminate)
                 while (mpDataStream->ImportData())
-                    ;
+                    wait(aTime);
         };
     }
 };
@@ -347,8 +351,9 @@ void DataStream::SetRefreshOnEmptyLine( bool bVal )
 
 void DataStream::Refresh()
 {
-    // Hard recalc will repaint the grid area.
     Application::Yield();
+
+    // Hard recalc will repaint the grid area.
     mpDocShell->DoHardRecalc(true);
     mpDocShell->SetDocumentModified(true);
 
@@ -510,10 +515,14 @@ 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;
 }


More information about the Libreoffice-commits mailing list