diff options
author | Tobias Madl <tobias.madl.dev@gmail.com> | 2015-01-13 09:14:46 +0000 |
---|---|---|
committer | Tobias Madl <tobias.madl.dev@gmail.com> | 2015-03-03 14:00:49 +0000 |
commit | c52462869f24d07cbf4de34a5d458cf7f5f6e2e6 (patch) | |
tree | c59edc6318bd4a0710310414262d8db8fa8b8f71 | |
parent | 768474dca7139d1bf7731543d2d7d2d9446cabc9 (diff) |
Idle: Better place for Idle handling
Change-Id: I2e5462544d83572e8206bb1db92a2b9df032281b
-rw-r--r-- | vcl/source/app/svapp.cxx | 4 | ||||
-rw-r--r-- | vcl/source/app/timer.cxx | 3 |
2 files changed, 5 insertions, 2 deletions
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(); |