summaryrefslogtreecommitdiff
path: root/include/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-17 09:26:55 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-20 09:50:44 +0200
commit9f0fdb491cb128d3a5afb9c1f5907dfc31f6b197 (patch)
tree9ecc6824a994962689eee751b7fa1f0d6b4c7c32 /include/filter
parent7b355669c6ddeab2e6cec692d6afdff41c61d0fb (diff)
forcepoint#38 notify that obj in group was deleted
Change-Id: I4599a8e93eccb28c8a406418fd5c7c670b59c871 Reviewed-on: https://gerrit.libreoffice.org/53162 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/filter')
-rw-r--r--include/filter/msfilter/msdffimp.hxx11
-rw-r--r--include/filter/msfilter/svdfppt.hxx3
2 files changed, 10 insertions, 4 deletions
diff --git a/include/filter/msfilter/msdffimp.hxx b/include/filter/msfilter/msdffimp.hxx
index fedce1b33112..022994a51873 100644
--- a/include/filter/msfilter/msdffimp.hxx
+++ b/include/filter/msfilter/msdffimp.hxx
@@ -268,15 +268,19 @@ typedef std::set<std::unique_ptr<SvxMSDffImportRec>,
/** block of parameters for import/export for a single call of
ImportObjAtCurrentStreamPos() */
-struct SvxMSDffImportData
+struct MSFILTER_DLLPUBLIC SvxMSDffImportData
{
MSDffImportRecords m_Records; ///< Shape pointer, Shape ids and private data
tools::Rectangle aParentRect;///< Rectangle of the surrounding groups,
///< which might have been provided externally
- explicit SvxMSDffImportData( const tools::Rectangle& rParentRect ) : aParentRect( rParentRect ) {}
+ explicit SvxMSDffImportData(const tools::Rectangle& rParentRect);
+ SvxMSDffImportData& operator=( SvxMSDffImportData const & ) = delete; // MSVC2015 workaround
+ SvxMSDffImportData( SvxMSDffImportData const & ) = delete; // MSVC2015 workaround
+ ~SvxMSDffImportData();
bool empty() const { return m_Records.empty(); }
size_t size() const { return m_Records.size(); }
+ SvxMSDffImportRec* find(const SdrObject* pObj);
MSDffImportRecords::const_iterator begin() const { return m_Records.begin(); }
MSDffImportRecords::const_iterator end() const { return m_Records.end(); }
};
@@ -499,7 +503,8 @@ protected:
void* pData,
tools::Rectangle& rTextRect,
SdrObject* pObj);
- virtual void FreeObj(void* pData, SdrObject* pObj);
+ virtual void NotifyFreeObj(void* pData, SdrObject* pObj);
+ void FreeObj(void* pData, SdrObject* pObj);
/** Object finalization, used by the Excel filter to correctly
diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx
index 0c25f15ad63e..1103bc56d3b5 100644
--- a/include/filter/msfilter/svdfppt.hxx
+++ b/include/filter/msfilter/svdfppt.hxx
@@ -483,7 +483,8 @@ public:
void RecolorGraphic( SvStream& rSt, sal_uInt32 nRecLen, Graphic& rGraph );
virtual SdrObject* ReadObjText( PPTTextObj* pTextObj, SdrObject* pObj, SdPageCapsule pPage ) const;
virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rData, void* pData, tools::Rectangle& rTextRect, SdrObject* pObj ) override;
- virtual void FreeObj(void* pData, SdrObject* pObj) override;
+ virtual void NotifyFreeObj(void* pData, SdrObject* pObj) override;
+ void FreeObj(void* pData, SdrObject* pObj);
virtual void ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd, void* pData, DffObjData& rObj ) override;
void ImportHeaderFooterContainer( DffRecordHeader const & rHeader, HeaderFooterEntry& rEntry );
};