summaryrefslogtreecommitdiff
path: root/framework/inc/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/inc/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/inc/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
3 files changed, 11 insertions, 0 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() {}
};
//==================================================================================================================