diff options
Diffstat (limited to 'vcl/source/window/window.cxx')
-rw-r--r-- | vcl/source/window/window.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 277531b189c7..722da94d5b37 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -7483,6 +7483,8 @@ void Window::Update() // if there is something to paint, trigger a Paint if ( pUpdateWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDREN) ) { + ImplDelData aDogTag(this); + // trigger an update also for system windows on top of us, // otherwise holes would remain Window* pUpdateOverlapWindow = ImplGetFirstOverlapWindow()->mpWindowImpl->mpFirstOverlap; @@ -7493,6 +7495,9 @@ void Window::Update() } pUpdateWindow->ImplCallPaint( NULL, pUpdateWindow->mpWindowImpl->mnPaintFlags ); + + if (aDogTag.IsDead()) + return; bFlush = true; } |