summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-03-14 13:27:56 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-03-14 13:32:02 +0100
commit6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch)
tree6e078783d65e280a721b4e46f0ae0ca6b950f121 /svx
parentfe4be5047988782f3143a1af505c5eecb3f2af5a (diff)
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.hxx3
-rw-r--r--svx/inc/svx/fmdmod.hxx2
-rw-r--r--svx/inc/svx/gridctrl.hxx3
-rw-r--r--svx/inc/svx/ipolypolygoneditorcontroller.hxx3
-rw-r--r--svx/inc/svx/sdrobjectuser.hxx3
-rw-r--r--svx/inc/svx/sdrpageuser.hxx3
-rw-r--r--svx/inc/svx/svdetc.hxx4
-rw-r--r--svx/inc/svx/svdobj.hxx3
-rw-r--r--svx/inc/svx/unomaster.hxx3
-rw-r--r--svx/inc/svx/unomod.hxx3
-rw-r--r--svx/source/inc/docrecovery.hxx3
-rw-r--r--svx/source/inc/fmslotinvalidator.hxx3
-rw-r--r--svx/source/inc/fmtextcontrolshell.hxx6
-rw-r--r--svx/source/inc/formcontrolling.hxx3
-rw-r--r--svx/source/inc/formdispatchinterceptor.hxx7
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx9
-rw-r--r--svx/source/svdraw/svdetc.cxx1
-rw-r--r--svx/source/svdraw/svdhdl.cxx1
-rw-r--r--svx/source/svdraw/svdmark.cxx4
-rw-r--r--svx/source/table/celltypes.hxx3
-rw-r--r--svx/source/table/tablemodel.hxx3
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() {}
};
// -----------------------------------------------------------------------------