summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/vcl/scheduler.hxx1
-rw-r--r--vcl/source/app/scheduler.cxx2
2 files changed, 2 insertions, 1 deletions
diff --git a/include/vcl/scheduler.hxx b/include/vcl/scheduler.hxx
index da3fb1fd3e64..5ce31e2db795 100644
--- a/include/vcl/scheduler.hxx
+++ b/include/vcl/scheduler.hxx
@@ -76,6 +76,7 @@ public:
virtual void Stop();
bool IsActive() const { return mbActive; }
+ void SetInActive() { mbActive = false; }
Scheduler& operator=( const Scheduler& rScheduler );
static void ImplDeInitScheduler();
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index a213fe2623ea..20b11dc4c922 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -47,7 +47,7 @@ ImplSchedulerData *ImplSchedulerData::GetMostImportantTask( bool bTimer )
for ( ImplSchedulerData *pSchedulerData = pSVData->mpFirstSchedulerData; pSchedulerData; pSchedulerData = pSchedulerData->mpNext )
{
if ( !pSchedulerData->mpScheduler || pSchedulerData->mbDelete || pSchedulerData->mnUpdateStack >= pSVData->mnUpdateStack
- || !pSchedulerData->mpScheduler->ReadyForSchedule( bTimer ) )
+ || !pSchedulerData->mpScheduler->ReadyForSchedule( bTimer ) || !pSchedulerData->mpScheduler->IsActive())
continue;
if (!pMostUrgent)
pMostUrgent = pSchedulerData;