diff options
author | Henry Castro <hcastro@collabora.com> | 2019-12-09 18:49:37 -0400 |
---|---|---|
committer | Henry Castro <hcastro@collabora.com> | 2019-12-11 03:25:39 +0100 |
commit | 3bf5610d14a6dd5f093314016ba25038fe06fdf1 (patch) | |
tree | 414ec5458a740f76ce889cb783ca2626ad1d7a4b /vcl/source/window/floatwin.cxx | |
parent | 67ee8818e68a2793d89331dd715989c468fe5680 (diff) |
lok: evaluate assertion if LOK Windows container is empty
It has defined a map container for every LOK windows assigned
a notifier to the client side. However the map container has elements
with VclPtr (reference counter) and it is a global data, so when global
data are disposing, the VclPtr will destroy the Window when the VCL
framework was destroyed that will lead to undefined behavior.
So this commit adds an assert inside DeInitVCL to ensure, if
someone forgot to Release the LOK Notifier.
Change-Id: Ib7f20751af2931f7b0ba3e3d526e734ffc33f171
Reviewed-on: https://gerrit.libreoffice.org/84792
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/84909
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'vcl/source/window/floatwin.cxx')
-rw-r--r-- | vcl/source/window/floatwin.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx index 672eb6236fee..e3abe5dcd169 100644 --- a/vcl/source/window/floatwin.cxx +++ b/vcl/source/window/floatwin.cxx @@ -202,6 +202,8 @@ FloatingWindow::~FloatingWindow() void FloatingWindow::dispose() { + ReleaseLOKNotifier(); + if (mpImplData) { if( mbPopupModeCanceled ) |