diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2018-08-28 15:24:26 +0000 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2018-08-29 10:10:14 +0200 |
commit | 3bd8316718fdfed454c01a9c4ae6af6beb34437d (patch) | |
tree | c5057b2633582bb4b076795fcda534b4497ee6e3 /vcl | |
parent | b406744b8f2af5ea4e2440df62caa0f896efa2f4 (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.cxx | 5 |
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() ); |