summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-02-28 16:55:03 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-02-28 10:58:59 -0600
commit1ec2880679d88c89901ce00fe30dd78e584f6960 (patch)
tree3a1583279cd9590135cb2d7e1cb200132398462b /vcl/source
parenta7a47272b962543dc5bbd3c2f42e889c4f58ef96 (diff)
Resolves: rhbz#1007697 Update on a Window triggering delete on window
Change-Id: Ic6374ce45e3a3ba97217ae77e91f9143f46e277b Reviewed-on: https://gerrit.libreoffice.org/8396 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/window/window.cxx5
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;
}