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 /framework | |
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 'framework')
-rw-r--r-- | framework/inc/framework/iguard.hxx | 3 | ||||
-rw-r--r-- | framework/inc/framework/imutex.hxx | 2 | ||||
-rw-r--r-- | framework/inc/framework/undomanagerhelper.hxx | 6 | ||||
-rw-r--r-- | framework/inc/helper/ilayoutnotifications.hxx | 3 | ||||
-rwxr-xr-x | framework/inc/threadhelp/igate.h | 2 | ||||
-rwxr-xr-x | framework/inc/threadhelp/irwlock.h | 2 | ||||
-rwxr-xr-x | framework/inc/threadhelp/itransactionmanager.h | 2 | ||||
-rw-r--r-- | framework/inc/uielement/comboboxtoolbarcontroller.hxx | 3 | ||||
-rw-r--r-- | framework/inc/uielement/dropdownboxtoolbarcontroller.hxx | 2 | ||||
-rw-r--r-- | framework/inc/uielement/edittoolbarcontroller.hxx | 3 | ||||
-rw-r--r-- | framework/inc/uielement/spinfieldtoolbarcontroller.hxx | 5 | ||||
-rw-r--r-- | framework/source/inc/accelerators/istoragelistener.hxx | 3 |
12 files changed, 35 insertions, 1 deletions
diff --git a/framework/inc/framework/iguard.hxx b/framework/inc/framework/iguard.hxx index a5674c2763df..2ebb5260e72c 100644 --- a/framework/inc/framework/iguard.hxx +++ b/framework/inc/framework/iguard.hxx @@ -63,6 +63,9 @@ class SAL_NO_VTABLE IGuard */ virtual void reset() = 0; + protected: + ~IGuard() {} + }; // class IGuard } // namespace framework diff --git a/framework/inc/framework/imutex.hxx b/framework/inc/framework/imutex.hxx index 10b15ae60317..862dfaaabe42 100644 --- a/framework/inc/framework/imutex.hxx +++ b/framework/inc/framework/imutex.hxx @@ -63,6 +63,8 @@ class SAL_NO_VTABLE IMutex virtual void acquire() = 0; virtual void release() = 0; + protected: + ~IMutex() {} }; // class IMutex } // namespace framework diff --git a/framework/inc/framework/undomanagerhelper.hxx b/framework/inc/framework/undomanagerhelper.hxx index bfac08a086a5..2e559f3e3040 100644 --- a/framework/inc/framework/undomanagerhelper.hxx +++ b/framework/inc/framework/undomanagerhelper.hxx @@ -60,6 +60,9 @@ namespace framework Even if the guard currently has not a lock on the mutex, this method must succeed. */ virtual IMutex& getGuardedMutex() = 0; + + protected: + ~IMutexGuard() {} }; //================================================================================================================== @@ -82,6 +85,9 @@ namespace framework */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > getThis() = 0; + + protected: + ~IUndoManagerImplementation() {} }; //================================================================================================================== diff --git a/framework/inc/helper/ilayoutnotifications.hxx b/framework/inc/helper/ilayoutnotifications.hxx index fbc01a170878..5313781c27a9 100644 --- a/framework/inc/helper/ilayoutnotifications.hxx +++ b/framework/inc/helper/ilayoutnotifications.hxx @@ -43,6 +43,9 @@ class ILayoutNotifications }; virtual void requestLayout( Hint eHint = HINT_NOT_SPECIFIED ) = 0; + + protected: + ~ILayoutNotifications() {} }; } diff --git a/framework/inc/threadhelp/igate.h b/framework/inc/threadhelp/igate.h index 78399a0f8789..7dc1cfa60cb1 100755 --- a/framework/inc/threadhelp/igate.h +++ b/framework/inc/threadhelp/igate.h @@ -67,6 +67,8 @@ class IGate virtual void openGap ( ) = 0; virtual sal_Bool wait ( const TimeValue* pTimeOut = NULL ) = 0; + protected: + ~IGate() {} }; // class IGate } // namespace framework diff --git a/framework/inc/threadhelp/irwlock.h b/framework/inc/threadhelp/irwlock.h index 3d513fc07b0c..22363c7b7113 100755 --- a/framework/inc/threadhelp/irwlock.h +++ b/framework/inc/threadhelp/irwlock.h @@ -81,6 +81,8 @@ class IRWLock virtual void releaseWriteAccess () =0; virtual void downgradeWriteAccess () =0; + protected: + ~IRWLock() {} }; // class IRWLock } // namespace framework diff --git a/framework/inc/threadhelp/itransactionmanager.h b/framework/inc/threadhelp/itransactionmanager.h index 20f93305223e..5e70ebdc6771 100755 --- a/framework/inc/threadhelp/itransactionmanager.h +++ b/framework/inc/threadhelp/itransactionmanager.h @@ -143,6 +143,8 @@ class ITransactionManager virtual void registerTransaction ( EExceptionMode eMode , ERejectReason& eReason ) throw( css::uno::RuntimeException, css::lang::DisposedException ) = 0; virtual void unregisterTransaction ( ) throw( css::uno::RuntimeException, css::lang::DisposedException ) = 0; + protected: + ~ITransactionManager() {} }; // class ITransactionManager } // namespace framework diff --git a/framework/inc/uielement/comboboxtoolbarcontroller.hxx b/framework/inc/uielement/comboboxtoolbarcontroller.hxx index 747c0f94167f..4576f3366380 100644 --- a/framework/inc/uielement/comboboxtoolbarcontroller.hxx +++ b/framework/inc/uielement/comboboxtoolbarcontroller.hxx @@ -51,6 +51,9 @@ class IComboBoxListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + + protected: + ~IComboBoxListener() {} }; class ComboboxToolbarController : public IComboBoxListener, diff --git a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx index c3da8b8fe074..c38dba3c5c73 100644 --- a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx +++ b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx @@ -55,6 +55,8 @@ class IListBoxListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + protected: + ~IListBoxListener() {} }; class DropdownToolbarController : public IListBoxListener, diff --git a/framework/inc/uielement/edittoolbarcontroller.hxx b/framework/inc/uielement/edittoolbarcontroller.hxx index b86b8865981a..46e2ff091edb 100644 --- a/framework/inc/uielement/edittoolbarcontroller.hxx +++ b/framework/inc/uielement/edittoolbarcontroller.hxx @@ -55,6 +55,9 @@ class IEditListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + + protected: + ~IEditListener() {} }; class EditToolbarController : public IEditListener, diff --git a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx index 3e98ff056e00..2aa39017cd70 100644 --- a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx +++ b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx @@ -61,7 +61,10 @@ class ISpinfieldListener virtual void StateChanged( StateChangedType nType ) = 0; virtual void DataChanged( const DataChangedEvent& rDCEvt ) = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; - }; + + protected: + ~ISpinfieldListener() {} +}; class SpinfieldToolbarController : public ISpinfieldListener, public ComplexToolbarController diff --git a/framework/source/inc/accelerators/istoragelistener.hxx b/framework/source/inc/accelerators/istoragelistener.hxx index 555d517d3a54..667b7dc4f4d7 100644 --- a/framework/source/inc/accelerators/istoragelistener.hxx +++ b/framework/source/inc/accelerators/istoragelistener.hxx @@ -58,6 +58,9 @@ class IStorageListener //-------------------------------------- /** @short TODO */ virtual void changesOccurred(const ::rtl::OUString& sPath) = 0; + + protected: + ~IStorageListener() {} }; } // namespace framework |