summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Page <aptitude@btconnect.com>2016-06-07 09:09:07 +0100
committerNoel Grandin <noelgrandin@gmail.com>2016-06-08 10:59:32 +0000
commit5164ac456f3cb51949fe3bec293660fab74d26de (patch)
tree8f30c614d496113f3d515d2301179680291699fc /include
parentaed4c42491b294cb57efc950a4d0209116be6452 (diff)
tdf#96099 Remove SfxInterfaceArr_Impl typedef
Added comment in SfxModule with warning about using smart pointers Change-Id: I1997d41a0a77c7e82e486bcdaee0ea876fdc61ad Reviewed-on: https://gerrit.libreoffice.org/25999 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/sfx2/module.hxx3
-rw-r--r--include/sfx2/msgpool.hxx3
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;