mutex used in post-main dtor
Change-Id: Ia4f4def1fd58d82a7c994114e45a36227269671c
This commit is contained in:
@@ -100,6 +100,8 @@ public:
|
||||
*/
|
||||
void SetFrame (const css::uno::Reference<css::frame::XFrame>& rxFrame);
|
||||
|
||||
void dispose();
|
||||
|
||||
private:
|
||||
css::uno::Reference<css::uno::XComponentContext> mxContext;
|
||||
css::uno::Reference<css::frame::XFrame> mxCachedDataFrame;
|
||||
|
@@ -75,7 +75,11 @@ class Image;
|
||||
class PopupMenu;
|
||||
class Application;
|
||||
class OutputDevice;
|
||||
namespace vcl { class Window; }
|
||||
namespace vcl
|
||||
{
|
||||
class CommandInfoProvider;
|
||||
class Window;
|
||||
}
|
||||
class SystemWindow;
|
||||
class WorkWindow;
|
||||
class Dialog;
|
||||
@@ -338,6 +342,7 @@ struct ImplSVData
|
||||
VclPtr<vcl::Window> mpIntroWindow; // the splash screen
|
||||
DockingManager* mpDockingManager;
|
||||
BlendFrameCache* mpBlendFrameCache;
|
||||
vcl::CommandInfoProvider* mpCommandInfoProvider;
|
||||
|
||||
oslThreadIdentifier mnMainThreadId;
|
||||
rtl::Reference< vcl::DisplayConnection > mxDisplayConnection;
|
||||
|
@@ -38,6 +38,7 @@
|
||||
#include "vcl/implimagetree.hxx"
|
||||
#include "vcl/settings.hxx"
|
||||
#include "vcl/unowrap.hxx"
|
||||
#include "vcl/commandinfoprovider.hxx"
|
||||
#include "vcl/configsettings.hxx"
|
||||
#include "vcl/lazydelete.hxx"
|
||||
#include "vcl/embeddedfontshelper.hxx"
|
||||
@@ -517,6 +518,12 @@ void DeInitVCL()
|
||||
if (pSVData->mpBlendFrameCache)
|
||||
delete pSVData->mpBlendFrameCache, pSVData->mpBlendFrameCache = nullptr;
|
||||
|
||||
if (pSVData->mpCommandInfoProvider)
|
||||
{
|
||||
pSVData->mpCommandInfoProvider->dispose();
|
||||
pSVData->mpCommandInfoProvider = nullptr;
|
||||
}
|
||||
|
||||
ImplDeletePrnQueueList();
|
||||
delete pSVData->maGDIData.mpScreenFontList;
|
||||
pSVData->maGDIData.mpScreenFontList = nullptr;
|
||||
|
@@ -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 (
|
||||
|
Reference in New Issue
Block a user