diff --git a/include/comphelper/proparrhlp.hxx b/include/comphelper/proparrhlp.hxx index 9093ff579f0c..b4e6ac6071fa 100644 --- a/include/comphelper/proparrhlp.hxx +++ b/include/comphelper/proparrhlp.hxx @@ -100,7 +100,7 @@ template OPropertyArrayUsageHelper::~OPropertyArrayUsageHelper() { std::unique_lock aGuard(theMutex()); - OSL_ENSURE(s_nRefCount > 0, "OPropertyArrayUsageHelper::~OPropertyArrayUsageHelper : suspicious call : have a refcount of 0 !"); + assert(s_nRefCount > 0 && "OPropertyArrayUsageHelper::~OPropertyArrayUsageHelper : suspicious call : have a refcount of 0 !"); if (!--s_nRefCount) { delete s_pProps; @@ -111,12 +111,12 @@ OPropertyArrayUsageHelper::~OPropertyArrayUsageHelper() template ::cppu::IPropertyArrayHelper* OPropertyArrayUsageHelper::getArrayHelper() { - OSL_ENSURE(s_nRefCount, "OPropertyArrayUsageHelper::getArrayHelper : suspicious call : have a refcount of 0 !"); std::unique_lock aGuard(theMutex()); + assert(s_nRefCount && "OPropertyArrayUsageHelper::getArrayHelper : suspicious call : have a refcount of 0 !"); if (!s_pProps) { s_pProps = createArrayHelper(); - OSL_ENSURE(s_pProps, "OPropertyArrayUsageHelper::getArrayHelper : createArrayHelper returned nonsense !"); + assert(s_pProps && "OPropertyArrayUsageHelper::getArrayHelper : createArrayHelper returned nonsense !"); } return s_pProps; } diff --git a/include/svtools/toolboxcontroller.hxx b/include/svtools/toolboxcontroller.hxx index 526cadb3321b..5454406c6875 100644 --- a/include/svtools/toolboxcontroller.hxx +++ b/include/svtools/toolboxcontroller.hxx @@ -45,6 +45,14 @@ namespace weld { class Toolbar; } class ToolBox; +namespace svt +{ + class ToolboxController; +} + +// extern template otherwise the ref-counting magic here ends up duplicated across multiple libraries +extern template class SAL_DLLPUBLIC_TEMPLATE comphelper::OPropertyArrayUsageHelper; + namespace svt { diff --git a/svtools/source/uno/toolboxcontroller.cxx b/svtools/source/uno/toolboxcontroller.cxx index 4583e88d849e..bd6f61949f81 100644 --- a/svtools/source/uno/toolboxcontroller.cxx +++ b/svtools/source/uno/toolboxcontroller.cxx @@ -48,6 +48,8 @@ using namespace css::beans; using namespace css::lang; using namespace css::frame; +template class comphelper::OPropertyArrayUsageHelper; + namespace svt {