lsan:fix leak of OGeometryControlModel when exporting VBA stuff

Found when running under ASAN with detect_leaks=1

This triggers with
  make CppunitTest_sc_subsequent_export_test CPPUNIT_TEST_NAME=testInvalidSheetNameLength

We have a complex aggregation object here which needs to have
dispose() called, or we leak it and all of its child objects.

(cherry-pick from commit I4c89fadba3335713147353960990be30afa36bec)

Change-Id: I4c89fadba3335713147353960990be30afa36bec
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2121
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205018
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
Noel Grandin
2026-05-10 11:05:37 +02:00
committed by Julien Nabet
parent 8d319d257a
commit 1621777daa
+2
View File
@@ -27,6 +27,7 @@
#include <com/sun/star/io/XInputStreamProvider.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <comphelper/types.hxx>
#include <osl/diagnose.h>
#include <rtl/ustrbuf.hxx>
#include <sal/log.hxx>
@@ -861,6 +862,7 @@ void VbaUserForm::importForm( const Reference< XNameContainer >& rxDialogLib,
OSL_ENSURE( !rxDialogLib->hasByName( aFormName ), "VbaUserForm::importForm - multiple dialogs with equal name" );
ContainerHelper::insertByName( rxDialogLib, aFormName, Any( xDialogSource ) );
}
comphelper::disposeComponent(xDialogModel);
}
catch(const Exception& )
{