Files
odfstudio/scripting
Noel Grandin a27dcf22cd fix SbxArrayRef leak
found by running

    make CppunitTest_sc_macros_test CPPUNIT_TEST_NAME=testTdf133889

under ASAN with detect_leaks=1

We end up with a cycle here, between the SbxArrayRef and one of its children.
Clear the SbxArray to break the cycle.

Change-Id: Ia996eca6da7d9f39821305514b456b7aba799cf1
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2608
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit ff5487aaab39aa8b862da1cf0b3f41e8fb1f8d7d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206324
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-10 22:28:40 +02:00
..
…
2026-06-10 22:28:40 +02:00
…
…

Scripting Framework

This module provides the source code for the Scripting Framework.

For more information on the Scripting Framework, see the project web page: https://framework.openoffice.org/scripting/

This module uses astyle to keep consistent java coding style. Please run

./Format_java_code.sh

before committing.

Source Code Structure

The following directories contain the source code currently used by the Scripting Framework:

  • source/provider

C++ source for the implementations of the com.sun.star.script.provider.* and com.sun.star.script.browse.* UNO types. These types are used for browsing and executing scripts.

  • source/protocolhandler

C++ for a ProtocolHandler implementation that handles vnd.sun.star.script URIs and dispatches them for execution to the Scripting Framework.

  • source/singleprov

A base helper class for C++ implementations of LanguageScriptProviders that store a single macro in a source file.

  • source/basprov

C++ implementation of the LanguageScriptProvider UNO service for Basic

  • source/dlgprov

C++ implementation of the DialogProvider UNO service used for loading UNO dialogs from various languages

  • source/jsprov

C++ implementation of the LanguageScriptProvider UNO service for JavaScript using QuickJS.

  • source/pyprov

LanguageScriptProvider for Python

  • java/com/sun/star/script/framework/provider

Implementation of an abstract base class ScriptProvider which provides core methods for implementing Java based LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/provider/*

BeanShell, JavaScript and Java LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/browse/*

BrowseNode implementations for the Java based LanguageScriptProviders

  • java/com/sun/star/script/framework/io
  • java/com/sun/star/script/framework/container

Classes for performing script IO

  • examples

Example scripts in BeanShell, JavaScript, Java and Python

Deprecated Code

  • java/org/openoffice/*

Support for developing scripts in IDEs such as NetBeans.