diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/module.hxx | 3 | ||||
-rw-r--r-- | include/sfx2/msgpool.hxx | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/include/sfx2/module.hxx b/include/sfx2/module.hxx index 787167503fd3..72f25f5af782 100644 --- a/include/sfx2/module.hxx +++ b/include/sfx2/module.hxx @@ -53,6 +53,9 @@ class SFX2_DLLPUBLIC SfxModule : public SfxShell { private: ResMgr* pResMgr; + + // Warning this cannot be turned into a unique_ptr. + // SfxInterface destruction in the SfxSlotPool refers again to pImpl after deletion of pImpl has commenced. See tdf#100270 SfxModule_Impl* pImpl; SAL_DLLPRIVATE void Construct_Impl(); diff --git a/include/sfx2/msgpool.hxx b/include/sfx2/msgpool.hxx index b4ff13275ae3..d38a73c3007d 100644 --- a/include/sfx2/msgpool.hxx +++ b/include/sfx2/msgpool.hxx @@ -31,13 +31,12 @@ class SfxInterface; class SfxSlot; typedef std::basic_string< sal_uInt16 > SfxSlotGroupArr_Impl; -typedef std::vector<SfxInterface*> SfxInterfaceArr_Impl; class SFX2_DLLPUBLIC SfxSlotPool { std::unique_ptr<SfxSlotGroupArr_Impl> _pGroups; SfxSlotPool* _pParentPool; - std::unique_ptr<SfxInterfaceArr_Impl> _pInterfaces; + std::unique_ptr< std::vector<SfxInterface*> > _pInterfaces; sal_uInt16 _nCurGroup; sal_uInt16 _nCurInterface; sal_uInt16 _nCurMsg; |