include/svtools/filechangedchecker.hxx     |    2 +-
 svtools/source/misc/filechangedchecker.cxx |   21 ++++++++++++---------
 2 files changed, 13 insertions(+), 10 deletions(-)

New commits:
commit bd1345f9806b1bb9940d208d75610f7c4556f05d
Author:     Tomofumi Yagi <[email protected]>
AuthorDate: Fri Sep 18 16:21:43 2020 +0900
Commit:     Noel Grandin <[email protected]>
CommitDate: Tue Sep 22 08:40:34 2020 +0200

    tdf#134157 fix Edit with external tool causes a CPU hit
    
    Switch Idle to 100ms Timer for fixing the bug
    
    Change-Id: I85a9bdcb173edd28d952d8e91c1b93d748e69206
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102984
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>
    (cherry picked from commit f110c037114f90d219ac8d149542bf96fe66a2f1)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103055
    Reviewed-by: Caolán McNamara <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103130

diff --git a/include/svtools/filechangedchecker.hxx 
b/include/svtools/filechangedchecker.hxx
index ec8d8a41fdac..a1c2fcb38eaa 100644
--- a/include/svtools/filechangedchecker.hxx
+++ b/include/svtools/filechangedchecker.hxx
@@ -28,7 +28,7 @@ class Timer;
 class SVT_DLLPUBLIC FileChangedChecker
 {
 private:
-    Idle                    mIdle;
+    Timer                    mTimer;
     OUString const           mFileName;
     TimeValue                mLastModTime;
     ::std::function<void ()> const mpCallback;
diff --git a/svtools/source/misc/filechangedchecker.cxx 
b/svtools/source/misc/filechangedchecker.cxx
index 09e24c3fafb1..8536eb0bda57 100644
--- a/svtools/source/misc/filechangedchecker.cxx
+++ b/svtools/source/misc/filechangedchecker.cxx
@@ -16,7 +16,7 @@
 
 FileChangedChecker::FileChangedChecker(const OUString& rFilename,
         const ::std::function<void ()>& rCallback)
-    : mIdle("SVTools FileChangedChecker Idle")
+    : mTimer("SVTools FileChangedChecker Timer")
     , mFileName(rFilename)
     , mLastModTime()
     , mpCallback(rCallback)
@@ -24,21 +24,24 @@ FileChangedChecker::FileChangedChecker(const OUString& 
rFilename,
     // Get the curren last file modified Status
     getCurrentModTime(mLastModTime);
 
-    // associate the callback function for the Idle
-    mIdle.SetInvokeHandler(LINK(this, FileChangedChecker, TimerHandler));
+    // associate the callback function for the Timer
+    mTimer.SetInvokeHandler(LINK(this, FileChangedChecker, TimerHandler));
 
-    //start the timer
+    // set timer interval
+    mTimer.SetTimeout(100);
+
+    // start the timer
     resetTimer();
 }
 
 void FileChangedChecker::resetTimer()
 {
-    //Start the Idle if it's not active
-    if(!mIdle.IsActive())
-        mIdle.Start();
+    // Start the Idle if it's not active
+    if(!mTimer.IsActive())
+        mTimer.Start();
 
     // Set lowest Priority
-    mIdle.SetPriority(TaskPriority::LOWEST);
+    mTimer.SetPriority(TaskPriority::LOWEST);
 }
 
 bool FileChangedChecker::getCurrentModTime(TimeValue& o_rValue) const
@@ -90,7 +93,7 @@ IMPL_LINK_NOARG(FileChangedChecker, TimerHandler, Timer *, 
void)
         mpCallback();
     }
 
-    // Reset the Idle in any case
+    // Reset the Timer in any case
     resetTimer();
 }
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to