diff options
Diffstat (limited to 'salhelper')
-rw-r--r-- | salhelper/inc/salhelper/simplereferenceobject.hxx | 6 | ||||
-rw-r--r-- | salhelper/source/msci.map | 1 | ||||
-rw-r--r-- | salhelper/source/simplereferenceobject.cxx | 15 |
3 files changed, 22 insertions, 0 deletions
diff --git a/salhelper/inc/salhelper/simplereferenceobject.hxx b/salhelper/inc/salhelper/simplereferenceobject.hxx index a7ae201fb3fa..c5ef6dbbd070 100644 --- a/salhelper/inc/salhelper/simplereferenceobject.hxx +++ b/salhelper/inc/salhelper/simplereferenceobject.hxx @@ -121,6 +121,12 @@ private: */ void operator =(SimpleReferenceObject); +#ifdef _MSC_VER +/* We can't now have these private with MSVC2008 at least, it leads to + compilation errors in xmloff and other places. +*/ +protected: +#endif /** not implemented (see general class documentation) @internal */ diff --git a/salhelper/source/msci.map b/salhelper/source/msci.map index 02f1527a703b..23dab32117ca 100644 --- a/salhelper/source/msci.map +++ b/salhelper/source/msci.map @@ -19,6 +19,7 @@ GetVersionInfo UDK_3.1 { global: + ??_VSimpleReferenceObject@salhelper@@KAXPAX@Z; ??_7SimpleReferenceObject@salhelper@@6B@; ??0Condition@salhelper@@QAE@AAVMutex@osl@@@Z; diff --git a/salhelper/source/simplereferenceobject.cxx b/salhelper/source/simplereferenceobject.cxx index 0125e13198be..6df42cc1c930 100644 --- a/salhelper/source/simplereferenceobject.cxx +++ b/salhelper/source/simplereferenceobject.cxx @@ -74,4 +74,19 @@ void SimpleReferenceObject::operator delete(void * pPtr, std::nothrow_t const &) #endif // WNT } +#ifdef _MSC_VER + +/* This operator is supposed to be unimplemented, but that now leads + * to compilation and/or linking errors with MSVC2008. (Don't know + * about MSVC2010.) As it can be left unimplemented just fine with + * gcc, presumably it is never called. So do implement it then to + * avoid the compilation and/or linking errors, but make it crash + * intentionally if called. + */ +void SimpleReferenceObject::operator delete[](void * /* pPtr */) +{ + free(NULL); +} +#endif + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |