diff options
author | Henry Castro <hcastro@collabora.com> | 2019-12-18 21:17:29 -0400 |
---|---|---|
committer | Henry Castro <hcastro@collabora.com> | 2019-12-20 12:36:09 +0100 |
commit | 3b4be91f44492d7ec7658684f130b4f1779e70d9 (patch) | |
tree | 418091ab11159f0f807430ef4078a768a2fe9b06 | |
parent | da91403315f76ae36da6db6729f5b2a2870e3aa2 (diff) |
lok: ReleaseLOKNotifier only if view shell is assigned to a view frameCODE-4.2.0-2
There is an interesting case with the dialog SwMultiTOXTabDialog
it creates a temporary frame-controller-view and when closing
the dialog the LOKNotifier was already released, and of course
the "close" message is not sent to the client side.
Change-Id: Ie6877d077f8fad3e5893be9e1d5f7a337a38c9c8
Reviewed-on: https://gerrit.libreoffice.org/85461
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
-rw-r--r-- | sfx2/source/view/viewsh.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index 0a6fc164081d..1a022e49f7b2 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -1110,7 +1110,7 @@ SfxViewShell::~SfxViewShell() } vcl::Window* pFrameWin = GetViewFrame()->GetWindow().GetFrameWindow(); - if (pFrameWin && pFrameWin->GetLOKNotifier()) + if (pFrameWin && pFrameWin->GetLOKNotifier() == this) pFrameWin->ReleaseLOKNotifier(); } @@ -1119,7 +1119,7 @@ bool SfxViewShell::PrepareClose bool bUI // TRUE: Allow Dialog and so on, FALSE: silent-mode ) { - if (GetViewFrame()->GetWindow().GetLOKNotifier()) + if (GetViewFrame()->GetWindow().GetLOKNotifier() == this) GetViewFrame()->GetWindow().ReleaseLOKNotifier(); SfxPrinter *pPrinter = GetPrinter(); |