diff options
author | David Tardon <dtardon@redhat.com> | 2014-12-03 22:01:57 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2014-12-04 23:10:24 +0100 |
commit | 9638e6207c7fc48712b1b238177462c00f5011e8 (patch) | |
tree | 5b4f30ee6fc163e52ab0cb5bf179d6f55ff261bd /include/svx/fmpage.hxx | |
parent | 34e456a2b030eb2e80ae5ca87e81896cc8240bff (diff) |
ooo#93212 avoid slicing during construction of SdrPage
Also hide copy ctor and assignment operator of all derived classes, to
ensure that Clone() is the only method to make copies of them.
Change-Id: Icb3b50c63b086abe8c9add32e3041fe19692d20b
Diffstat (limited to 'include/svx/fmpage.hxx')
-rw-r--r-- | include/svx/fmpage.hxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/svx/fmpage.hxx b/include/svx/fmpage.hxx index e381a64bada7..a48df9ce5fda 100644 --- a/include/svx/fmpage.hxx +++ b/include/svx/fmpage.hxx @@ -40,6 +40,8 @@ class HelpEvent; class SVX_DLLPUBLIC FmFormPage : public SdrPage { + FmFormPage& operator=(const FmFormPage&) SAL_DELETED_FUNCTION; + friend class FmFormObj; FmFormPageImpl* m_pImpl; OUString m_sPageName; @@ -48,12 +50,12 @@ public: TYPEINFO_OVERRIDE(); FmFormPage(FmFormModel& rModel, bool bMasterPage=false); - FmFormPage(const FmFormPage& rPage); virtual ~FmFormPage(); virtual void SetModel(SdrModel* pNewModel) SAL_OVERRIDE; virtual SdrPage* Clone() const SAL_OVERRIDE; + // TODO: Uh huh, how is this supposed to work? Creating a SdrPage from FmFormPage? using SdrPage::Clone; virtual void InsertObject(SdrObject* pObj, size_t nPos = SAL_MAX_SIZE, @@ -73,6 +75,11 @@ public: vcl::Window* pWin, SdrView* pView, const HelpEvent& rEvt ); + +protected: + FmFormPage(const FmFormPage& rPage); + + void lateInit(const FmFormPage& rPage); }; #endif // INCLUDED_SVX_FMPAGE_HXX |