diff options
Diffstat (limited to 'vcl/source/window')
-rw-r--r-- | vcl/source/window/toolbox.cxx | 9 | ||||
-rw-r--r-- | vcl/source/window/toolbox2.cxx | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index 6b4db051f61e..4105b586a40e 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -1398,8 +1398,9 @@ void ToolBox::ImplInit( vcl::Window* pParent, WinBits nStyle ) mnKeyModifier = 0; mnActivateCount = 0; - maIdle.SetPriority( SchedulerPriority::RESIZE ); - maIdle.SetIdleHdl( LINK( this, ToolBox, ImplUpdateHdl ) ); + mpIdle = new Idle("toolbox update"); + mpIdle->SetPriority( SchedulerPriority::RESIZE ); + mpIdle->SetIdleHdl( LINK( this, ToolBox, ImplUpdateHdl ) ); // set timeout and handler for dropdown items mpData->maDropdownTimer.SetTimeout( 250 ); @@ -1657,6 +1658,10 @@ void ToolBox::dispose() } } mpFloatWin.clear(); + + delete mpIdle; + mpIdle = nullptr; + DockingWindow::dispose(); } diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx index 72a3b58bef55..dddb65fba628 100644 --- a/vcl/source/window/toolbox2.cxx +++ b/vcl/source/window/toolbox2.cxx @@ -25,6 +25,7 @@ #include <tools/rc.h> #include <vcl/svapp.hxx> +#include <vcl/idle.hxx> #include <vcl/help.hxx> #include <vcl/bitmap.hxx> #include <vcl/toolbox.hxx> @@ -357,7 +358,7 @@ void ToolBox::ImplInvalidate( bool bNewCalc, bool bFullPaint ) { Invalidate( Rectangle( mnLeftBorder, mnTopBorder, mnDX-mnRightBorder-1, mnDY-mnBottomBorder-1 ) ); - maIdle.Stop(); + mpIdle->Stop(); } } else @@ -368,7 +369,7 @@ void ToolBox::ImplInvalidate( bool bNewCalc, bool bFullPaint ) // do we need to redraw? if ( IsReallyVisible() && IsUpdateMode() ) - maIdle.Start(); + mpIdle->Start(); } } |