diff options
Diffstat (limited to 'include/svl')
-rw-r--r-- | include/svl/aeitem.hxx | 14 | ||||
-rw-r--r-- | include/svl/eitem.hxx | 8 |
2 files changed, 13 insertions, 9 deletions
diff --git a/include/svl/aeitem.hxx b/include/svl/aeitem.hxx index ee38084a04c7..d203e2383f12 100644 --- a/include/svl/aeitem.hxx +++ b/include/svl/aeitem.hxx @@ -26,7 +26,19 @@ class SfxAllEnumValueArr; -class SVL_DLLPUBLIC SfxAllEnumItem: public SfxEnumItem<sal_uInt16> +// MSVC hack: +class SfxAllEnumItem_Base: public SfxEnumItem<sal_uInt16> { +protected: + explicit SfxAllEnumItem_Base(sal_uInt16 nWhich, sal_uInt16 nValue): + SfxEnumItem(nWhich, nValue) + {} + + explicit SfxAllEnumItem_Base(sal_uInt16 const nWhich, SvStream & rStream): + SfxEnumItem(nWhich, rStream) + {} +}; + +class SVL_DLLPUBLIC SfxAllEnumItem: public SfxAllEnumItem_Base { SfxAllEnumValueArr* pValues; std::vector<sal_uInt16>* pDisabledValues; diff --git a/include/svl/eitem.hxx b/include/svl/eitem.hxx index 93c122b10888..49b932985c2d 100644 --- a/include/svl/eitem.hxx +++ b/include/svl/eitem.hxx @@ -82,14 +82,6 @@ public: } }; -// We need to have this one instantiated only once to prevent LNK2005 "already defined" on 32-bit MSVC. -// But then we run into the problem that "extern" and SVL_DLLPUBLIC are mutually exclusive on templates for MSVC. -#ifdef _WIN32 -extern template class SfxEnumItem<sal_uInt16>; -#else -extern template class SVL_DLLPUBLIC SfxEnumItem<sal_uInt16>; -#endif - class SVL_DLLPUBLIC SfxBoolItem : public SfxPoolItem { |