From a74efa665c8199899cd778900de686e2b8710fee Mon Sep 17 00:00:00 2001 From: Tobias Madl Date: Tue, 13 Jan 2015 09:14:46 +0000 Subject: Idle: Better place for Idle handling Change-Id: I2e5462544d83572e8206bb1db92a2b9df032281b --- vcl/source/app/svapp.cxx | 4 +++- vcl/source/app/timer.cxx | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'vcl') diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index 8b96650c0628..3fd670202e5a 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -346,9 +346,11 @@ inline void ImplYield( bool i_bWait, bool i_bAllEvents ) { while ( pSVData->mbNotAllTimerCalled ) Timer::ImplTimerCallbackProc(); - Timer::Timer::ProcessAllIdleHandlers(); } + //Process all idles + Timer::Timer::ProcessAllIdleHandlers(); + pSVData->maAppData.mnDispatchLevel++; // do not wait for events if application was already quit; in that // case only dispatch events already available diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx index 2be7aa29fd50..88b6188d54e9 100644 --- a/vcl/source/app/timer.cxx +++ b/vcl/source/app/timer.cxx @@ -234,7 +234,8 @@ void Timer::ImplTimerCallbackProc( bool idle ) void Timer::ProcessAllIdleHandlers() { // process all pending Idle timers - while (ImplTimerData* pTimerData = + ImplTimerData* pTimerData; + while (pTimerData = ImplTimerData::GetFirstIdle()) { pTimerData->Invoke(); -- cgit