diff options
author | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-04-19 11:00:05 +0200 |
---|---|---|
committer | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-04-19 21:20:41 +0200 |
commit | 41706fcd962a38627d20f62488c6110967396ee7 (patch) | |
tree | f4787d2b552bf669a2f218cc2ae2fa5b8ac1879e /static | |
parent | 2e50b3850ba2074dba41e6ea07c9e7d236af0d6c (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.cxx | 19 |
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"; + } } } } |