tdf#105069, store the VBA module info for new modules as well
This was never a problem until we started to export the VBA stream
instead of just writing back the imported stream.
Change-Id: I4e20e717bebd3dc649efcf1b9c18b6e5053303d9
Reviewed-on: https://gerrit.libreoffice.org/32741
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx
index a99fefa..135ea2b 100644
--- a/basctl/source/basicide/scriptdocument.cxx
+++ b/basctl/source/basicide/scriptdocument.cxx
@@ -34,6 +34,8 @@
#include <com/sun/star/document/XEmbeddedScripts.hpp>
#include <com/sun/star/script/vba/XVBACompatibility.hpp>
#include <com/sun/star/script/vba/XVBAModuleInfo.hpp>
#include <com/sun/star/script/ModuleInfo.hpp>
#include <com/sun/star/script/ModuleType.hpp>
#include <sfx2/objsh.hxx>
#include <sfx2/bindings.hxx>
@@ -669,6 +671,14 @@ namespace basctl
if ( _bCreateMain )
_out_rNewModuleCode += "Sub Main\n\nEnd Sub\n" ;
Reference< XVBAModuleInfo > xVBAModuleInfo(xLib, UNO_QUERY);
if (xVBAModuleInfo.is())
{
css::script::ModuleInfo aModuleInfo;
aModuleInfo.ModuleType = css::script::ModuleType::NORMAL;
xVBAModuleInfo->insertModuleInfo(_rModName, aModuleInfo);
}
// insert module into library
xLib->insertByName( _rModName, makeAny( _out_rNewModuleCode ) );
}