summaryrefslogtreecommitdiff
path: root/include/svl
diff options
context:
space:
mode:
Diffstat (limited to 'include/svl')
-rw-r--r--include/svl/aeitem.hxx14
-rw-r--r--include/svl/eitem.hxx8
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
{