diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:27:56 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:32:02 +0100 |
commit | 6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch) | |
tree | 6e078783d65e280a721b4e46f0ae0ca6b950f121 /svx | |
parent | fdo#47246: dtrans: fix multiply linked ImplHelper (diff) | |
download | core-6e67c03dc0225fc66343546b14e902b9d238b1a3.tar.gz core-6e67c03dc0225fc66343546b14e902b9d238b1a3.zip |
Enable -Wnon-virtual-dtor for GCC 4.6
...which has the necessary features to support it.
Change a lot of classes to either contain a protected non-virtual dtor
(which is backwards compatible, so even works for cppumaker-generated
UNO headers) or a public virtual one.
cppuhelper/propertysetmixin.hxx still needs to disable the warning, as
the relevant class has a non-virtual dtor but friends, which would still
cause GCC to warn.
Includes a patch for libcmis, intended to be upstreamed.
Diffstat (limited to 'svx')
-rw-r--r-- | svx/inc/svx/IAccessibleViewForwarderListener.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/fmdmod.hxx | 2 | ||||
-rw-r--r-- | svx/inc/svx/gridctrl.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/ipolypolygoneditorcontroller.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/sdrobjectuser.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/sdrpageuser.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/svdetc.hxx | 4 | ||||
-rw-r--r-- | svx/inc/svx/svdobj.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/unomaster.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/unomod.hxx | 3 | ||||
-rw-r--r-- | svx/source/inc/docrecovery.hxx | 3 | ||||
-rw-r--r-- | svx/source/inc/fmslotinvalidator.hxx | 3 | ||||
-rw-r--r-- | svx/source/inc/fmtextcontrolshell.hxx | 6 | ||||
-rw-r--r-- | svx/source/inc/formcontrolling.hxx | 3 | ||||
-rw-r--r-- | svx/source/inc/formdispatchinterceptor.hxx | 7 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx | 9 | ||||
-rw-r--r-- | svx/source/svdraw/svdetc.cxx | 1 | ||||
-rw-r--r-- | svx/source/svdraw/svdhdl.cxx | 1 | ||||
-rw-r--r-- | svx/source/svdraw/svdmark.cxx | 4 | ||||
-rw-r--r-- | svx/source/table/celltypes.hxx | 3 | ||||
-rw-r--r-- | svx/source/table/tablemodel.hxx | 3 |
21 files changed, 71 insertions, 2 deletions
diff --git a/svx/inc/svx/IAccessibleViewForwarderListener.hxx b/svx/inc/svx/IAccessibleViewForwarderListener.hxx index ac8a94a6d821..c7456218747f 100644 --- a/svx/inc/svx/IAccessibleViewForwarderListener.hxx +++ b/svx/inc/svx/IAccessibleViewForwarderListener.hxx @@ -68,6 +68,9 @@ public: */ virtual void ViewForwarderChanged (ChangeType aChangeType, const IAccessibleViewForwarder* pViewForwarder) = 0; + +protected: + ~IAccessibleViewForwarderListener() {} }; } // end of namespace accessibility diff --git a/svx/inc/svx/fmdmod.hxx b/svx/inc/svx/fmdmod.hxx index 6c951ec98e72..17edfca2e619 100644 --- a/svx/inc/svx/fmdmod.hxx +++ b/svx/inc/svx/fmdmod.hxx @@ -37,6 +37,8 @@ class SVX_DLLPUBLIC SvxFmMSFactory : public SvxUnoDrawMSFactory public: SvxFmMSFactory() {}; + virtual ~SvxFmMSFactory() {} + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance(const ::rtl::OUString& ServiceSpecifier) throw( ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments(const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments) throw( ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException ); virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); diff --git a/svx/inc/svx/gridctrl.hxx b/svx/inc/svx/gridctrl.hxx index c397078a72ae..5b0d796f871a 100644 --- a/svx/inc/svx/gridctrl.hxx +++ b/svx/inc/svx/gridctrl.hxx @@ -113,6 +113,9 @@ class FmGridListener public: virtual void selectionChanged() = 0; virtual void columnChanged() = 0; + +protected: + ~FmGridListener() {} }; #define GRID_COLUMN_NOT_FOUND SAL_MAX_UINT16 diff --git a/svx/inc/svx/ipolypolygoneditorcontroller.hxx b/svx/inc/svx/ipolypolygoneditorcontroller.hxx index 8df1c2ae05e6..66504447065b 100644 --- a/svx/inc/svx/ipolypolygoneditorcontroller.hxx +++ b/svx/inc/svx/ipolypolygoneditorcontroller.hxx @@ -71,6 +71,9 @@ public: virtual void CloseMarkedObjects(sal_Bool bToggle, sal_Bool bOpen ) = 0; virtual bool IsOpenCloseMarkedObjectsPossible() const = 0; virtual SdrObjClosedKind GetMarkedObjectsClosedState() const = 0; + +protected: + ~IPolyPolygonEditorController() {} }; #endif //_SDR_IPOLYPOLYGONEDITORCONTROLLER_HXX diff --git a/svx/inc/svx/sdrobjectuser.hxx b/svx/inc/svx/sdrobjectuser.hxx index 73499ab2aaa5..7a9f8872f088 100644 --- a/svx/inc/svx/sdrobjectuser.hxx +++ b/svx/inc/svx/sdrobjectuser.hxx @@ -49,6 +49,9 @@ namespace sdr // do all necessary action to forget the page. It is not necessary to call // RemovePageUser(), that is done form the destructor. virtual void ObjectInDestruction(const SdrObject& rObject) = 0; + + protected: + ~ObjectUser() {} }; // typedef for ObjectUserVector diff --git a/svx/inc/svx/sdrpageuser.hxx b/svx/inc/svx/sdrpageuser.hxx index 42d9b4b34993..be2e496b9bfa 100644 --- a/svx/inc/svx/sdrpageuser.hxx +++ b/svx/inc/svx/sdrpageuser.hxx @@ -49,6 +49,9 @@ namespace sdr // do all necessary action to forget the page. It is not necessary to call // RemovePageUser(), that is done form the destructor. virtual void PageInDestruction(const SdrPage& rPage) = 0; + + protected: + ~PageUser() {} }; // typedef for PageUserVector diff --git a/svx/inc/svx/svdetc.hxx b/svx/inc/svx/svdetc.hxx index 08ba83510642..3bd50f4485cb 100644 --- a/svx/inc/svx/svdetc.hxx +++ b/svx/inc/svx/svdetc.hxx @@ -148,6 +148,10 @@ public: // 0 if *pElem1=*pElem2 // +1 if *pElem1>*pElem2 virtual int Compare(const void* pElem1, const void* pElem2) const=0; + +protected: + ~ContainerSorter() {} + private: // damit keiner vergessen wird virtual void diff --git a/svx/inc/svx/svdobj.hxx b/svx/inc/svx/svdobj.hxx index 86c4feac7fe1..857556030cb3 100644 --- a/svx/inc/svx/svdobj.hxx +++ b/svx/inc/svx/svdobj.hxx @@ -352,6 +352,9 @@ class SdrObjectUser { public: virtual void ObjectInDestruction(const SdrObject& rObject) = 0; + +protected: + ~SdrObjectUser() {} }; // typedef for GetParentContacts() diff --git a/svx/inc/svx/unomaster.hxx b/svx/inc/svx/unomaster.hxx index a175e7f2cf15..ccf50a6ef649 100644 --- a/svx/inc/svx/unomaster.hxx +++ b/svx/inc/svx/unomaster.hxx @@ -61,6 +61,9 @@ public: virtual void modelChanged( SdrModel* pNewModel ) = 0; virtual void pageChanged( SdrPage* pNewPage ) = 0; virtual void objectChanged( SdrObject* pNewObj ) = 0; + +protected: + ~SvxShapeMaster() {} }; #endif diff --git a/svx/inc/svx/unomod.hxx b/svx/inc/svx/unomod.hxx index 0b4f1c3485bf..db96f6443e8d 100644 --- a/svx/inc/svx/unomod.hxx +++ b/svx/inc/svx/unomod.hxx @@ -61,6 +61,9 @@ public: false if not */ static sal_Bool createEvent( const SdrModel* pDoc, const SdrHint* pSdrHint, ::com::sun::star::document::EventObject& aEvent ); + +protected: + ~SvxUnoDrawMSFactory() {} }; #endif diff --git a/svx/source/inc/docrecovery.hxx b/svx/source/inc/docrecovery.hxx index 040eed75c359..ec4b9dff5940 100644 --- a/svx/source/inc/docrecovery.hxx +++ b/svx/source/inc/docrecovery.hxx @@ -209,6 +209,9 @@ class IRecoveryUpdateListener // TODO virtual void stepNext(TURLInfo* pItem) = 0; + + protected: + ~IRecoveryUpdateListener() {} }; //=============================================== diff --git a/svx/source/inc/fmslotinvalidator.hxx b/svx/source/inc/fmslotinvalidator.hxx index b92201939953..2b8a1baf8df6 100644 --- a/svx/source/inc/fmslotinvalidator.hxx +++ b/svx/source/inc/fmslotinvalidator.hxx @@ -45,6 +45,9 @@ namespace svx { public: virtual void Invalidate( SfxSlotId _nSlot ) = 0; + + protected: + ~ISlotInvalidator() {} }; //........................................................................ diff --git a/svx/source/inc/fmtextcontrolshell.hxx b/svx/source/inc/fmtextcontrolshell.hxx index 3a0198758cbc..37cd875a9268 100644 --- a/svx/source/inc/fmtextcontrolshell.hxx +++ b/svx/source/inc/fmtextcontrolshell.hxx @@ -71,6 +71,9 @@ namespace svx public: virtual void focusGained( const ::com::sun::star::awt::FocusEvent& _rEvent ) = 0; virtual void focusLost( const ::com::sun::star::awt::FocusEvent& _rEvent ) = 0; + + protected: + ~IFocusObserver() {} }; //==================================================================== @@ -80,6 +83,9 @@ namespace svx { public: virtual void contextMenuRequested( const ::com::sun::star::awt::MouseEvent& _rEvent ) = 0; + + protected: + ~IContextRequestObserver() {} }; //==================================================================== diff --git a/svx/source/inc/formcontrolling.hxx b/svx/source/inc/formcontrolling.hxx index ae27a1299ed0..1412df2e91a7 100644 --- a/svx/source/inc/formcontrolling.hxx +++ b/svx/source/inc/formcontrolling.hxx @@ -78,6 +78,9 @@ namespace svx Ids of the features to be invalidated. */ virtual void invalidateFeatures( const ::std::vector< sal_Int32 >& _rFeatures ) = 0; + + protected: + ~IControllerFeatureInvalidation() {} }; //==================================================================== diff --git a/svx/source/inc/formdispatchinterceptor.hxx b/svx/source/inc/formdispatchinterceptor.hxx index f6987e6ce252..ae70507463b8 100644 --- a/svx/source/inc/formdispatchinterceptor.hxx +++ b/svx/source/inc/formdispatchinterceptor.hxx @@ -47,12 +47,15 @@ namespace svxform class DispatchInterceptor { public: - DispatchInterceptor() { } - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch> interceptedQueryDispatch( const ::com::sun::star::util::URL& aURL, const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags) throw( ::com::sun::star::uno::RuntimeException ) = 0; virtual ::osl::Mutex* getInterceptorMutex() = 0; + + protected: + DispatchInterceptor() {} + + ~DispatchInterceptor() {} }; //==================================================================== diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx index fdafdc00039d..35e8c4c8b886 100644 --- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx @@ -422,6 +422,9 @@ namespace sdr { namespace contact { /** determines whether a given layer is visible */ virtual bool isLayerVisible( SdrLayerID _nLayerID ) const = 0; + + protected: + ~IPageViewAccess() {} }; //==================================================================== @@ -435,6 +438,8 @@ namespace sdr { namespace contact { public: SdrPageViewAccess( const SdrPageView& _rPageView ) : m_rPageView( _rPageView ) { } + virtual ~SdrPageViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; @@ -478,6 +483,8 @@ namespace sdr { namespace contact { { } + virtual ~InvisibleControlViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; @@ -526,6 +533,8 @@ namespace sdr { namespace contact { { } + virtual ~DummyPageViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; diff --git a/svx/source/svdraw/svdetc.cxx b/svx/source/svdraw/svdetc.cxx index 0cc3c018fbef..c561e82f5895 100644 --- a/svx/source/svdraw/svdetc.cxx +++ b/svx/source/svdraw/svdetc.cxx @@ -275,6 +275,7 @@ void ContainerSorter::ImpSubSort(long nL, long nR) const class ImpUShortContainerSorter: public ContainerSorter { public: ImpUShortContainerSorter(Container& rNewCont): ContainerSorter(rNewCont) {} + virtual ~ImpUShortContainerSorter() {} virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx index 818f8e7d6056..62c3aae7500b 100644 --- a/svx/source/svdraw/svdhdl.cxx +++ b/svx/source/svdraw/svdhdl.cxx @@ -1669,6 +1669,7 @@ void ImpTextframeHdl::CreateB2dIAObject() class ImpSdrHdlListSorter: public ContainerSorter { public: ImpSdrHdlListSorter(Container& rNewCont): ContainerSorter(rNewCont) {} + virtual ~ImpSdrHdlListSorter() {} virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx index c9ef7d63286f..1e91b96c764e 100644 --- a/svx/source/svdraw/svdmark.cxx +++ b/svx/source/svdraw/svdmark.cxx @@ -56,6 +56,8 @@ public: : ContainerSorter(rNewCont) {} + virtual ~ImpSdrUShortContSorter() {} + virtual int Compare(const void* pElem1, const void* pElem2) const; }; @@ -320,6 +322,8 @@ public: : ContainerSorter(rNewCont) {} + virtual ~ImpSdrMarkListSorter() {} + virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/table/celltypes.hxx b/svx/source/table/celltypes.hxx index dd4aa43ac7b1..8bff2cb21b21 100644 --- a/svx/source/table/celltypes.hxx +++ b/svx/source/table/celltypes.hxx @@ -54,6 +54,9 @@ class TableDesignUser { public: virtual bool isInUse() = 0; + +protected: + ~TableDesignUser() {} }; template< typename T > diff --git a/svx/source/table/tablemodel.hxx b/svx/source/table/tablemodel.hxx index 5ac3696e87e8..c8225f53d3f8 100644 --- a/svx/source/table/tablemodel.hxx +++ b/svx/source/table/tablemodel.hxx @@ -58,6 +58,9 @@ public: virtual sal_Int32 getRight() = 0; virtual sal_Int32 getBottom() = 0; virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTable > getTable() = 0; + +protected: + ~ICellRange() {} }; // ----------------------------------------------------------------------------- |