summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2019-12-09 18:49:37 -0400
committerHenry Castro <hcastro@collabora.com>2019-12-11 03:25:39 +0100
commit3bf5610d14a6dd5f093314016ba25038fe06fdf1 (patch)
tree414ec5458a740f76ce889cb783ca2626ad1d7a4b /include
parent67ee8818e68a2793d89331dd715989c468fe5680 (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 'include')
-rw-r--r--include/vcl/window.hxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index c0381b8c75c9..f090fef97203 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -1205,6 +1205,9 @@ public:
/// Find an existing Window based on the LOKWindowId.
static VclPtr<vcl::Window> FindLOKWindow(vcl::LOKWindowId nWindowId);
+ /// check if LOK Window container is empty
+ static bool IsLOKWindowsEmpty();
+
/// Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual boost::property_tree::ptree DumpAsPropertyTree();