summaryrefslogtreecommitdiff
path: root/include/vbahelper
diff options
context:
space:
mode:
authorDouglas Mencken <dougmencken@gmail.com>2015-10-04 22:19:14 -0400
committerMichael Stahl <mstahl@redhat.com>2015-10-06 12:13:54 +0000
commit85b1f91779cd90eb1c7808909c2721239fc51dd1 (patch)
tree21ca582dc9435d15304a9ea80170482cf0c18bfb /include/vbahelper
parent8e7a2a62d1bd14ea629b4cbbdccd0c9b9b14a6e5 (diff)
vba: convert to variadic InheritedHelperInterfaceImpl&WeakImpl etc
Variadic templates ~-i.e. templates, which can take an arbitrary number of arguments of any type-~ is new C++11 feature note that uno::Reference and cppu::UnoType can only take one parameter thus leave XNamedObjectCollectionHelper non-variadic in vbacollectionimpl.hxx Change-Id: I22e60fa050ee31d39ae8bb7cac06cf243c4587b1 Reviewed-on: https://gerrit.libreoffice.org/19145 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'include/vbahelper')
-rw-r--r--include/vbahelper/vbaapplicationbase.hxx2
-rw-r--r--include/vbahelper/vbacollectionimpl.hxx36
-rw-r--r--include/vbahelper/vbadialogbase.hxx3
-rw-r--r--include/vbahelper/vbadialogsbase.hxx3
-rw-r--r--include/vbahelper/vbadocumentbase.hxx2
-rw-r--r--include/vbahelper/vbafontbase.hxx4
-rw-r--r--include/vbahelper/vbaglobalbase.hxx2
-rw-r--r--include/vbahelper/vbahelper.hxx1
-rw-r--r--include/vbahelper/vbahelperinterface.hxx40
-rw-r--r--include/vbahelper/vbapagesetupbase.hxx3
-rw-r--r--include/vbahelper/vbapropvalue.hxx4
-rw-r--r--include/vbahelper/vbareturntypes.hxx4
-rw-r--r--include/vbahelper/vbashape.hxx4
-rw-r--r--include/vbahelper/vbatextframe.hxx2
-rw-r--r--include/vbahelper/vbawindowbase.hxx2
15 files changed, 40 insertions, 72 deletions
diff --git a/include/vbahelper/vbaapplicationbase.hxx b/include/vbahelper/vbaapplicationbase.hxx
index 0c89e3fdb820..f8e9f3ad3482 100644
--- a/include/vbahelper/vbaapplicationbase.hxx
+++ b/include/vbahelper/vbaapplicationbase.hxx
@@ -24,7 +24,7 @@
#include <vbahelper/vbahelperinterface.hxx>
#include <sfx2/objsh.hxx>
-typedef InheritedHelperInterfaceImpl1< ov::XApplicationBase > ApplicationBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XApplicationBase > ApplicationBase_BASE;
struct VbaApplicationBase_Impl;
diff --git a/include/vbahelper/vbacollectionimpl.hxx b/include/vbahelper/vbacollectionimpl.hxx
index 2fbb617686cf..d3d20fd57a8a 100644
--- a/include/vbahelper/vbacollectionimpl.hxx
+++ b/include/vbahelper/vbacollectionimpl.hxx
@@ -28,10 +28,6 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XNamed.hpp>
-#include <cppuhelper/implbase3.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase1.hxx>
-
#include <vbahelper/vbahelper.hxx>
#include <vbahelper/vbahelperinterface.hxx>
@@ -39,7 +35,7 @@
-typedef ::cppu::WeakImplHelper1< css::container::XEnumeration > EnumerationHelper_BASE;
+typedef ::cppu::WeakImplHelper< css::container::XEnumeration > EnumerationHelper_BASE;
@@ -139,13 +135,13 @@ public:
-typedef ::cppu::WeakImplHelper3< css::container::XNameAccess, css::container::XIndexAccess, css::container::XEnumerationAccess > XNamedCollectionHelper_BASE;
+typedef ::cppu::WeakImplHelper< css::container::XNameAccess, css::container::XIndexAccess, css::container::XEnumerationAccess > XNamedCollectionHelper_BASE;
-template< typename Ifc1 >
+template< typename OneIfc >
class XNamedObjectCollectionHelper : public XNamedCollectionHelper_BASE
{
public:
-typedef std::vector< css::uno::Reference< Ifc1 > > XNamedVec;
+typedef std::vector< css::uno::Reference< OneIfc > > XNamedVec;
private:
class XNamedEnumerationHelper : public EnumerationHelper_BASE
@@ -174,7 +170,7 @@ protected:
public:
XNamedObjectCollectionHelper( const XNamedVec& sMap ) : mXNamedVec( sMap ), cachePos(mXNamedVec.begin()) {}
// XElementAccess
- virtual css::uno::Type SAL_CALL getElementType( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return cppu::UnoType<Ifc1>::get(); }
+ virtual css::uno::Type SAL_CALL getElementType( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return cppu::UnoType< OneIfc >::get(); }
virtual sal_Bool SAL_CALL hasElements( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return ( mXNamedVec.size() > 0 ); }
// XNameAcess
virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) throw (css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) SAL_OVERRIDE
@@ -228,10 +224,10 @@ public:
};
// including a HelperInterface implementation
-template< typename Ifc1 >
-class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
+template< typename... Ifc >
+class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc... >
{
-typedef InheritedHelperInterfaceImpl< Ifc1 > BaseColBase;
+typedef InheritedHelperInterfaceImpl< Ifc... > BaseColBase;
protected:
css::uno::Reference< css::container::XIndexAccess > m_xIndexAccess;
css::uno::Reference< css::container::XNameAccess > m_xNameAccess;
@@ -324,24 +320,24 @@ public:
};
-typedef ::cppu::WeakImplHelper1<ov::XCollection> XCollection_InterfacesBASE;
+typedef ::cppu::WeakImplHelper<ov::XCollection> XCollection_InterfacesBASE;
-typedef ScVbaCollectionBase< XCollection_InterfacesBASE > CollImplBase1;
+typedef ScVbaCollectionBase< XCollection_InterfacesBASE > CollImplBase;
// compatible with the old collections ( pre XHelperInterface base class ) ( some internal objects still use this )
-class VBAHELPER_DLLPUBLIC ScVbaCollectionBaseImpl : public CollImplBase1
+class VBAHELPER_DLLPUBLIC ScVbaCollectionBaseImpl : public CollImplBase
{
public:
- ScVbaCollectionBaseImpl( const css::uno::Reference< ov::XHelperInterface > xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess ) throw( css::uno::RuntimeException ) : CollImplBase1( xParent, xContext, xIndexAccess){}
+ ScVbaCollectionBaseImpl( const css::uno::Reference< ov::XHelperInterface > xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess ) throw( css::uno::RuntimeException ) : CollImplBase( xParent, xContext, xIndexAccess){}
};
-template <typename Ifc> // where Ifc must implement XCollectionTest
-class CollTestImplHelper : public ScVbaCollectionBase< ::cppu::WeakImplHelper1< Ifc > >
+template < typename... Ifc > // where Ifc must implement XCollectionTest
+class CollTestImplHelper : public ScVbaCollectionBase< ::cppu::WeakImplHelper< Ifc... > >
{
-typedef ScVbaCollectionBase< ::cppu::WeakImplHelper1< Ifc > > ImplBase1;
+typedef ScVbaCollectionBase< ::cppu::WeakImplHelper< Ifc... > > ImplBase;
public:
- CollTestImplHelper( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess, bool bIgnoreCase = false ) throw( css::uno::RuntimeException ) : ImplBase1( xParent, xContext, xIndexAccess, bIgnoreCase ) {}
+ CollTestImplHelper( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess, bool bIgnoreCase = false ) throw( css::uno::RuntimeException ) : ImplBase( xParent, xContext, xIndexAccess, bIgnoreCase ) {}
};
diff --git a/include/vbahelper/vbadialogbase.hxx b/include/vbahelper/vbadialogbase.hxx
index 276cc9a9192d..27d624620df4 100644
--- a/include/vbahelper/vbadialogbase.hxx
+++ b/include/vbahelper/vbadialogbase.hxx
@@ -19,12 +19,11 @@
#ifndef INCLUDED_VBAHELPER_VBADIALOGBASE_HXX
#define INCLUDED_VBAHELPER_VBADIALOGBASE_HXX
-#include <cppuhelper/implbase1.hxx>
#include <ooo/vba/XDialogBase.hpp>
#include <vbahelper/vbahelperinterface.hxx>
#include <com/sun/star/frame/XModel.hpp>
-typedef InheritedHelperInterfaceImpl1< ov::XDialogBase > VbaDialogBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XDialogBase > VbaDialogBase_BASE;
class VBAHELPER_DLLPUBLIC VbaDialogBase : public VbaDialogBase_BASE
{
diff --git a/include/vbahelper/vbadialogsbase.hxx b/include/vbahelper/vbadialogsbase.hxx
index 239995ae4d14..3197232d962a 100644
--- a/include/vbahelper/vbadialogsbase.hxx
+++ b/include/vbahelper/vbadialogsbase.hxx
@@ -19,13 +19,12 @@
#ifndef INCLUDED_VBAHELPER_VBADIALOGSBASE_HXX
#define INCLUDED_VBAHELPER_VBADIALOGSBASE_HXX
-#include <cppuhelper/implbase1.hxx>
#include <ooo/vba/XHelperInterface.hpp>
#include <ooo/vba/XDialogsBase.hpp>
#include <vbahelper/vbahelperinterface.hxx>
#include <com/sun/star/frame/XModel.hpp>
-typedef InheritedHelperInterfaceImpl1< ov::XDialogsBase > VbaDialogsBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XDialogsBase > VbaDialogsBase_BASE;
class VBAHELPER_DLLPUBLIC VbaDialogsBase : public VbaDialogsBase_BASE
{
diff --git a/include/vbahelper/vbadocumentbase.hxx b/include/vbahelper/vbadocumentbase.hxx
index 9fd0ed467dca..3aebefdb4f4e 100644
--- a/include/vbahelper/vbadocumentbase.hxx
+++ b/include/vbahelper/vbadocumentbase.hxx
@@ -23,7 +23,7 @@
#include <ooo/vba/XDocumentBase.hpp>
#include <vbahelper/vbahelperinterface.hxx>
-typedef InheritedHelperInterfaceImpl1< ooo::vba::XDocumentBase > VbaDocumentBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::XDocumentBase > VbaDocumentBase_BASE;
class VBAHELPER_DLLPUBLIC VbaDocumentBase : public VbaDocumentBase_BASE
{
diff --git a/include/vbahelper/vbafontbase.hxx b/include/vbahelper/vbafontbase.hxx
index 8c759ea5e9ea..ee64977f2b76 100644
--- a/include/vbahelper/vbafontbase.hxx
+++ b/include/vbahelper/vbafontbase.hxx
@@ -19,13 +19,11 @@
#ifndef INCLUDED_VBAHELPER_VBAFONTBASE_HXX
#define INCLUDED_VBAHELPER_VBAFONTBASE_HXX
-#include <cppuhelper/implbase1.hxx>
-
#include <ooo/vba/XFontBase.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <vbahelper/vbahelperinterface.hxx>
-typedef InheritedHelperInterfaceImpl1< ov::XFontBase > VbaFontBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XFontBase > VbaFontBase_BASE;
class VBAHELPER_DLLPUBLIC VbaFontBase : public VbaFontBase_BASE
{
diff --git a/include/vbahelper/vbaglobalbase.hxx b/include/vbahelper/vbaglobalbase.hxx
index fec13aec6317..96e26d988591 100644
--- a/include/vbahelper/vbaglobalbase.hxx
+++ b/include/vbahelper/vbaglobalbase.hxx
@@ -22,7 +22,7 @@
#include <vbahelper/vbahelperinterface.hxx>
#include <ooo/vba/XGlobalsBase.hpp>
-typedef InheritedHelperInterfaceImpl1< ov::XGlobalsBase > Globals_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XGlobalsBase > Globals_BASE;
class VBAHELPER_DLLPUBLIC VbaGlobalsBase : public Globals_BASE
{
protected:
diff --git a/include/vbahelper/vbahelper.hxx b/include/vbahelper/vbahelper.hxx
index bf413bac0c42..7c4956a183ce 100644
--- a/include/vbahelper/vbahelper.hxx
+++ b/include/vbahelper/vbahelper.hxx
@@ -30,7 +30,6 @@
#include <com/sun/star/awt/XUnitConversion.hpp>
#include <basic/basmgr.hxx>
#include <basic/sberrors.hxx>
-#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/frame/XModel.hpp>
#include <sfx2/dispatch.hxx>
#include <sfx2/objsh.hxx>
diff --git a/include/vbahelper/vbahelperinterface.hxx b/include/vbahelper/vbahelperinterface.hxx
index 2c9710090d34..989101c9c8f2 100644
--- a/include/vbahelper/vbahelperinterface.hxx
+++ b/include/vbahelper/vbahelperinterface.hxx
@@ -19,9 +19,7 @@
#ifndef INCLUDED_VBAHELPER_VBAHELPERINTERFACE_HXX
#define INCLUDED_VBAHELPER_VBAHELPERINTERFACE_HXX
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase3.hxx>
+#include <cppuhelper/implbase.hxx>
#include <ooo/vba/XHelperInterface.hpp>
#include <vbahelper/vbahelper.hxx>
#include <com/sun/star/container/XNameAccess.hpp>
@@ -53,8 +51,8 @@
// }
//
-template< typename Ifc1 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl : public Ifc1
+template< typename... Ifc >
+class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl : public Ifc...
{
protected:
css::uno::WeakReference< ov::XHelperInterface > mxParent;
@@ -99,34 +97,14 @@ public:
}
};
-template< typename Ifc1 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl1 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > >
+template <typename... Ifc >
+class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceWeakImpl : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper< Ifc... > >
{
- typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > > Base;
+ typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper< Ifc... > > Base;
public:
- InheritedHelperInterfaceImpl1< Ifc1 >() {}
- InheritedHelperInterfaceImpl1< Ifc1 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
- InheritedHelperInterfaceImpl1< Ifc1 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
-};
-
-template< typename Ifc1, typename Ifc2 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl2 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > >
-{
- typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > > Base;
-public:
- InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >() {}
- InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
- InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
-};
-
-template< typename Ifc1, typename Ifc2, typename Ifc3 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl3 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > >
-{
- typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > > Base;
-public:
- InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >() {}
- InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
- InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
+ InheritedHelperInterfaceWeakImpl< Ifc... >() {}
+ InheritedHelperInterfaceWeakImpl< Ifc... >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
+ InheritedHelperInterfaceWeakImpl< Ifc... >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
};
diff --git a/include/vbahelper/vbapagesetupbase.hxx b/include/vbahelper/vbapagesetupbase.hxx
index 7ee5d2c610d5..aea83ec172ba 100644
--- a/include/vbahelper/vbapagesetupbase.hxx
+++ b/include/vbahelper/vbapagesetupbase.hxx
@@ -19,13 +19,12 @@
#ifndef INCLUDED_VBAHELPER_VBAPAGESETUPBASE_HXX
#define INCLUDED_VBAHELPER_VBAPAGESETUPBASE_HXX
-#include <cppuhelper/implbase1.hxx>
#include <ooo/vba/XPageSetupBase.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <vbahelper/vbahelperinterface.hxx>
-typedef InheritedHelperInterfaceImpl1< ooo::vba::XPageSetupBase > VbaPageSetupBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::XPageSetupBase > VbaPageSetupBase_BASE;
class VBAHELPER_DLLPUBLIC VbaPageSetupBase : public VbaPageSetupBase_BASE
{
diff --git a/include/vbahelper/vbapropvalue.hxx b/include/vbahelper/vbapropvalue.hxx
index 0abc159b81d5..072578d97f06 100644
--- a/include/vbahelper/vbapropvalue.hxx
+++ b/include/vbahelper/vbapropvalue.hxx
@@ -19,11 +19,11 @@
#ifndef SC_VBA_PROPVALULE_HXX
#define SC_VBA_PROPVALULE_HXX
#include <ooo/vba/XPropValue.hpp>
-#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase.hxx>
#include <vbahelper/vbahelper.hxx>
-typedef ::cppu::WeakImplHelper1< ov::XPropValue > PropValueImpl_BASE;
+typedef ::cppu::WeakImplHelper< ov::XPropValue > PropValueImpl_BASE;
class VBAHELPER_DLLPUBLIC PropListener
{
diff --git a/include/vbahelper/vbareturntypes.hxx b/include/vbahelper/vbareturntypes.hxx
index 99885d6ee2ab..2c5b3871606d 100644
--- a/include/vbahelper/vbareturntypes.hxx
+++ b/include/vbahelper/vbareturntypes.hxx
@@ -19,7 +19,7 @@
#ifndef INCLUDED_VBAHELPER_VBARETURNTYPES_HXX
#define INCLUDED_VBAHELPER_VBARETURNTYPES_HXX
-#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase.hxx>
#include <com/sun/star/script/XDefaultProperty.hpp>
#include <ooo/vba/msforms/XReturnInteger.hpp>
#include <ooo/vba/msforms/XReturnBoolean.hpp>
@@ -34,7 +34,7 @@ namespace ooo
namespace vba
{
template< typename T1, typename T2 >
- class DefaultReturnHelper : public ::cppu::WeakImplHelper2< T2, css::script::XDefaultProperty >
+ class DefaultReturnHelper : public ::cppu::WeakImplHelper< T2, css::script::XDefaultProperty >
{
T1 mnValue;
public:
diff --git a/include/vbahelper/vbashape.hxx b/include/vbahelper/vbashape.hxx
index 5cedd998ea98..0670b3908538 100644
--- a/include/vbahelper/vbashape.hxx
+++ b/include/vbahelper/vbashape.hxx
@@ -26,11 +26,11 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <ooo/vba/msforms/XShape.hpp>
#include <ooo/vba/msforms/XLineFormat.hpp>
-#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/implbase.hxx>
#include <vbahelper/vbahelperinterface.hxx>
-typedef ::cppu::WeakImplHelper2< ov::msforms::XShape, css::lang::XEventListener > ListeningShape;
+typedef ::cppu::WeakImplHelper< ov::msforms::XShape, css::lang::XEventListener > ListeningShape;
typedef InheritedHelperInterfaceImpl< ListeningShape > ScVbaShape_BASE;
diff --git a/include/vbahelper/vbatextframe.hxx b/include/vbahelper/vbatextframe.hxx
index 5a175630cac0..ea6c8929e4ed 100644
--- a/include/vbahelper/vbatextframe.hxx
+++ b/include/vbahelper/vbatextframe.hxx
@@ -23,7 +23,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <vbahelper/vbahelperinterface.hxx>
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XTextFrame > VbaTextFrame_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XTextFrame > VbaTextFrame_BASE;
class VBAHELPER_DLLPUBLIC VbaTextFrame : public VbaTextFrame_BASE
{
diff --git a/include/vbahelper/vbawindowbase.hxx b/include/vbahelper/vbawindowbase.hxx
index cd2b8a705ff3..b8c70ed43d09 100644
--- a/include/vbahelper/vbawindowbase.hxx
+++ b/include/vbahelper/vbawindowbase.hxx
@@ -25,7 +25,7 @@
#include <com/sun/star/frame/XController.hpp>
#include <vbahelper/vbahelperinterface.hxx>
-typedef InheritedHelperInterfaceImpl1< ov::XWindowBase > WindowBaseImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XWindowBase > WindowBaseImpl_BASE;
class VBAHELPER_DLLPUBLIC VbaWindowBase : public WindowBaseImpl_BASE
{