summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2018-08-28 15:24:26 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2018-08-29 10:10:14 +0200
commit3bd8316718fdfed454c01a9c4ae6af6beb34437d (patch)
treec5057b2633582bb4b076795fcda534b4497ee6e3 /vcl
parentb406744b8f2af5ea4e2440df62caa0f896efa2f4 (diff)
tdf#119458 just wakeup Scheduler on active Idle
So this almost returns the code to the original state, before I started fixing tdf#116370... a long way. This introduces the new Scheduler::Wakeup() function, which will just queue a Scheduler event in the System event queue unconditionally. This should prevent fdo#73165, which I couldn't reproduce, but just to be sure. More importantly this patch resets the m_bStartOnUnblock when the Idle job actually runs. This run should already determinates if more Idle work needs to be done, and others can still call BeginIdling() to ensure further processing. This also drops the IsBusyDoc() test from UnblockIdling(). We can't really know, if the document is still busy when the Scheduler is finally running, be it by the system timer or Application::Reschedule(). Change-Id: I6cc4a3c48dcaf62b6985c7bc1c95c96697443f3b Reviewed-on: https://gerrit.libreoffice.org/59730 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/app/scheduler.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index 4a35115f2db3..93fcfeca7df9 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -506,6 +506,11 @@ next_entry:
return !!pMostUrgent;
}
+void Scheduler::Wakeup()
+{
+ Scheduler::ImplStartTimer( 0, false, tools::Time::GetSystemTicks() );
+}
+
void Task::StartTimer( sal_uInt64 nMS )
{
Scheduler::ImplStartTimer( nMS, false, tools::Time::GetSystemTicks() );