diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-04-17 09:26:55 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-04-20 09:50:44 +0200 |
commit | 9f0fdb491cb128d3a5afb9c1f5907dfc31f6b197 (patch) | |
tree | 9ecc6824a994962689eee751b7fa1f0d6b4c7c32 /include | |
parent | 7b355669c6ddeab2e6cec692d6afdff41c61d0fb (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')
-rw-r--r-- | include/filter/msfilter/msdffimp.hxx | 11 | ||||
-rw-r--r-- | include/filter/msfilter/svdfppt.hxx | 3 |
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 ); }; |