summaryrefslogtreecommitdiff
path: root/forms/source/misc/InterfaceContainer.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'forms/source/misc/InterfaceContainer.cxx')
-rw-r--r--forms/source/misc/InterfaceContainer.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/forms/source/misc/InterfaceContainer.cxx b/forms/source/misc/InterfaceContainer.cxx
index 9c25049affb8..e1608ec1d4d2 100644
--- a/forms/source/misc/InterfaceContainer.cxx
+++ b/forms/source/misc/InterfaceContainer.cxx
@@ -148,7 +148,15 @@ void OInterfaceContainer::impl_addVbEvents_nolck_nothrow( const sal_Int32 i_nIn
if ( xElementAsForm.is() )
break;
- ::rtl::OUString sCodeName( xNameQuery->getCodeNameForObject( xElement ) );
+ rtl::OUString sCodeName;
+ {
+ Reference<XInterface> xThis = static_cast<XContainer*>(this);
+ sal_Int32 nPageIndex = xNameQuery->getPageIndexForObject(xThis);
+ if (nPageIndex >= 0)
+ sCodeName = xNameQuery->getCodeNameByIndex(nPageIndex);
+ else
+ sCodeName = xNameQuery->getCodeNameForObject(xElement);
+ }
Reference< XPropertySet > xProps( xElement, UNO_QUERY_THROW );
::rtl::OUString sServiceName;