Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.
The next step is to make DocumentDigitalSignatures::ImplViewSignatures()
async, though that requires all callers of the function to be async, so
make DocumentDigitalSignatures::signScriptingContent() async as well.
There is also DocumentDigitalSignatures::signPackage(), but turns out
that's dead code, so just remove it.
Once this is in place, we had a problem that the callbacks tried to
interact with libxmlsec, but the dialog was still alive in
DocumentDigitalSignatures::ImplViewSignatures() by the time the callback
was running, so there were two DocumentSignatureManager instances at the
same time, and both assumes it should call the global libxmlsec
init/uninit, which resulted in failing to verify the just created
signature.
Fix this similar to how Tomaz fixed the same problem around pdfium in
commit 067a8a954c (pdfium: only init
pdfium library one and destroy on LO exit, 2020-06-03).
Change-Id: I3fb63c06195564732e1576dbd755157e676fb762
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173117
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
LibreOffice API IDL Files Except UDK API
Contains all of the IDL files except those in udkapi.
i.e. the interfaces that are specific to the LibreOffice application. An artificial (?) separation.
The reference offapi/type_reference/offapi.idl and
udkapi/type_reference/udkapi.idl (formerly combined into a single
offapi/type_reference/types.rdb) are used to detect inadvertent incompatible
changes. They are plain-text .idl files (not strictly lexicographically sorted,
though, so they satisfy the .idl file requirements for no forward dependencies),
so in cases where we deliberately /do/ become incompatible they can be modified
manually.
Old such cases of deliberately becoming incompatible are listed in
offapi/type_reference/typelibrary_history.txt, newer such cases are recorded in
the git logs of (now superseded) offapi/type_reference/types.rdb,
offapi/type_reference/offapi.rdb, and udkapi/type_reference/udkapi.rdb, new such
cases are recorded in the git logs of offapi/type_reference/offapi.idl and
udkapi/type_reference/udkapi.idl.