summaryrefslogtreecommitdiff
path: root/store
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 /store
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 'store')
-rw-r--r--store/inc/store/store.hxx3
-rw-r--r--store/source/lockbyte.hxx3
-rw-r--r--store/source/object.hxx3
-rw-r--r--store/source/storbase.hxx3
-rw-r--r--store/source/storcach.hxx3
5 files changed, 15 insertions, 0 deletions
diff --git a/store/inc/store/store.hxx b/store/inc/store/store.hxx
index e4970845d38b..aa5be983d999 100644
--- a/store/inc/store/store.hxx
+++ b/store/inc/store/store.hxx
@@ -336,6 +336,9 @@ public:
@return sal_True to continue iteration, sal_False to stop.
*/
virtual sal_Bool visit (const iterator& it) = 0;
+
+ protected:
+ ~traveller() {}
};
/** Directory traversal.
diff --git a/store/source/lockbyte.hxx b/store/source/lockbyte.hxx
index c54b64d538c8..8a6d01cc027d 100644
--- a/store/source/lockbyte.hxx
+++ b/store/source/lockbyte.hxx
@@ -111,6 +111,9 @@ public:
*/
storeError flush();
+protected:
+ ~ILockBytes() {}
+
private:
/** Implementation (abstract).
*/
diff --git a/store/source/object.hxx b/store/source/object.hxx
index 6f30372fdac4..5a6c9d9887fd 100644
--- a/store/source/object.hxx
+++ b/store/source/object.hxx
@@ -49,6 +49,9 @@ public:
/** Replaces dynamic_cast type checking.
*/
virtual sal_Bool SAL_CALL isKindOf (sal_uInt32 nTypeId) = 0;
+
+protected:
+ ~IStoreHandle() {}
};
diff --git a/store/source/storbase.hxx b/store/source/storbase.hxx
index 9e7308936b3c..06c322ac47c8 100644
--- a/store/source/storbase.hxx
+++ b/store/source/storbase.hxx
@@ -511,6 +511,9 @@ struct PageData
static storeError createInstance (
rtl::Reference< PageData::Allocator > & rxAllocator, sal_uInt16 nPageSize);
+ protected:
+ ~Allocator() {}
+
private:
/** Implementation (abstract).
*/
diff --git a/store/source/storcach.hxx b/store/source/storcach.hxx
index 46ad5eff15f0..60edc04ad889 100644
--- a/store/source/storcach.hxx
+++ b/store/source/storcach.hxx
@@ -70,6 +70,9 @@ public:
storeError removePageAt (
sal_uInt32 nOffset);
+protected:
+ ~PageCache() {}
+
private:
/** Implementation (abstract).
*/