summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorStephan Bergmann <stephan.bergmann@allotropia.de>2024-04-19 11:00:05 +0200
committerStephan Bergmann <stephan.bergmann@allotropia.de>2024-04-19 21:20:41 +0200
commit41706fcd962a38627d20f62488c6110967396ee7 (patch)
treef4787d2b552bf669a2f218cc2ae2fa5b8ac1879e /static
parent2e50b3850ba2074dba41e6ea07c9e7d236af0d6c (diff)
Embind: Don't expose special XInterface methods to JS client code
Change-Id: I8592466b96406a1658d0a5a1b961142f862a9e4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166290 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Diffstat (limited to 'static')
-rw-r--r--static/source/embindmaker/embindmaker.cxx19
1 files changed, 11 insertions, 8 deletions
diff --git a/static/source/embindmaker/embindmaker.cxx b/static/source/embindmaker/embindmaker.cxx
index ea7879ecceb0..252d7b25451c 100644
--- a/static/source/embindmaker/embindmaker.cxx
+++ b/static/source/embindmaker/embindmaker.cxx
@@ -667,16 +667,19 @@ void dumpMethods(std::ostream& out, rtl::Reference<TypeManager> const& manager,
OUString const& name, rtl::Reference<unoidl::InterfaceTypeEntity> const& entity,
std::list<OUString> const& baseTrail)
{
- for (auto const& meth : entity->getDirectMethods())
+ if (name != "com.sun.star.uno.XInterface")
{
- if (!baseTrail.empty() || hasInOutParameters(meth))
+ for (auto const& meth : entity->getDirectMethods())
{
- dumpWrapper(out, manager, name, meth, baseTrail);
- }
- else
- {
- out << " .function(\"" << meth.name << "\", &" << cppName(name)
- << "::" << meth.name << ", ::emscripten::pure_virtual())\n";
+ if (!baseTrail.empty() || hasInOutParameters(meth))
+ {
+ dumpWrapper(out, manager, name, meth, baseTrail);
+ }
+ else
+ {
+ out << " .function(\"" << meth.name << "\", &" << cppName(name)
+ << "::" << meth.name << ", ::emscripten::pure_virtual())\n";
+ }
}
}
}