diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-11-26 11:32:40 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-11-27 10:58:38 +0000 |
commit | fa7708def7601bd07cb7642dc444993d7f8f8587 (patch) | |
tree | fa7850b46c1ff1c955873b7afd091af61015567c /vcl/source/helper | |
parent | 5b9062a229611258153bd08296844d92fe3eb0d5 (diff) |
mutex used in post-main dtor
Change-Id: Ia4f4def1fd58d82a7c994114e45a36227269671c
Diffstat (limited to 'vcl/source/helper')
-rw-r--r-- | vcl/source/helper/commandinfoprovider.cxx | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/vcl/source/helper/commandinfoprovider.cxx b/vcl/source/helper/commandinfoprovider.cxx index 5ef6f099bd5b..fcc8aecb9764 100644 --- a/vcl/source/helper/commandinfoprovider.cxx +++ b/vcl/source/helper/commandinfoprovider.cxx @@ -31,6 +31,8 @@ #include <com/sun/star/ui/XImageManager.hpp> #include <com/sun/star/awt/KeyModifier.hpp> +#include "svdata.hxx" + using namespace css; using namespace css::uno; @@ -100,15 +102,26 @@ CommandInfoProvider::CommandInfoProvider() msCachedModuleIdentifier(), mxFrameListener() { + ImplGetSVData()->mpCommandInfoProvider = this; } -CommandInfoProvider::~CommandInfoProvider() +void CommandInfoProvider::dispose() { if (mxFrameListener.is()) { mxFrameListener->dispose(); - mxFrameListener = nullptr; + mxFrameListener.clear(); } + mxCachedGlobalAcceleratorConfiguration.clear(); + mxCachedModuleAcceleratorConfiguration.clear(); + mxCachedDocumentAcceleratorConfiguration.clear(); + mxCachedDataFrame.clear(); + mxContext.clear(); +} + +CommandInfoProvider::~CommandInfoProvider() +{ + dispose(); } OUString CommandInfoProvider::GetLabelForCommand ( |