There are two sets of getters there; and the non-const ones may copy the COW mpImplFont, and may call its AskConfig. The name overload is unfortunate. It is not obvious at the call site, which of the two will be called; and what is different. IMO, the way to fix it would be to keep only one set of getters (the const one), and make the call to AskConfig explicit (in the places that set font name, and know that resolution of other properties will be needed). But in this change, I only rename the non-const getters, making sure to keep the behavior unchanged (at least the intention is to have a non-functional change, meaning that the places that called non-const overload, now use the renamed functions), to make it clear where we actually may copy and initialize it. Change-Id: I9a5cd91d5c1c0de7ff8577b9b982d165e4cdd2c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183116 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
Miscellaneous Modules
This module contains a grab-bag of unrelated miscellaneous libraries, none of which is an extension.
Application Online Update Checking
When we start LO, first InitUpdateCheckJobThread is created, via
UpdateCheckJob::execute() (from extensions/source/update/check/updatecheckjob.cxx),
as a reaction to a onFirstVisibleTask event. It waits 25 seconds (so that it
does not interfere with the startup itself), and then calls
UpdateCheck::initialize() (from extensions/source/update/check/updatecheck.cxx).
This creates one more thread, UpdateCheckThread, that regularly checks whether
we have reached the time when we should ask for the update. If yes, asks for
that, and shows the download button in the menu (if the new update is
available).
The update server will decide if there is an update available based on the user-agent string created by UpdateInformationProvider::getUserAgent, the data used there is extracted from instdir/program/versionrc and the update server takes the buildid into account, so to experiment with the updates from a dev version getUserAgent needs to return a recognized id.
OLE Automation Bridge
A bridge between "OLE automation" and UNO, so you can use UNO services from JScript, VBScript, etc.
https://www.openoffice.org/udk/common/man/spec/ole_bridge.html
See udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl
This is initialized in Desktop::Main() in Desktop::OpenClients_Impl()
by creating the service com.sun.star.bridge.OleApplicationRegistration,
which is implemented by OleServer_Impl.
See extensions/source/ole/
ActiveX Control
This allows embedding LO into a Win32 application as an ActiveX control.
See extensions/source/activex/
Spotlight Provider
On macOS, this allows indexing ODF documents with Spotlight.
See extensions/source/macosx/spotlight/
Scanner Support
You can scan from LibreOffice, using platform specific backends like TWAIN/SANE.
See extensions/source/scanner/