summaryrefslogtreecommitdiff
path: root/framework
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 /framework
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 'framework')
-rw-r--r--framework/inc/framework/iguard.hxx3
-rw-r--r--framework/inc/framework/imutex.hxx2
-rw-r--r--framework/inc/framework/undomanagerhelper.hxx6
-rw-r--r--framework/inc/helper/ilayoutnotifications.hxx3
-rwxr-xr-xframework/inc/threadhelp/igate.h2
-rwxr-xr-xframework/inc/threadhelp/irwlock.h2
-rwxr-xr-xframework/inc/threadhelp/itransactionmanager.h2
-rw-r--r--framework/inc/uielement/comboboxtoolbarcontroller.hxx3
-rw-r--r--framework/inc/uielement/dropdownboxtoolbarcontroller.hxx2
-rw-r--r--framework/inc/uielement/edittoolbarcontroller.hxx3
-rw-r--r--framework/inc/uielement/spinfieldtoolbarcontroller.hxx5
-rw-r--r--framework/source/inc/accelerators/istoragelistener.hxx3
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