desktop/source/lib/init.cxx | 4 ++++ 1 file changed, 4 insertions(+) New commits: commit 2d746f4c68399bef0eabf7b549817f15c7fa180b Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Fri Sep 27 08:52:57 2024 +0200 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Fri Sep 27 13:29:45 2024 +0200
desktop lok: fix crash in getStyles() Crashreport backtrace: > program/libmergedlo.so > getStyles > desktop/source/lib/init.cxx:6411 > program/libmergedlo.so > doc_getCommandValues > desktop/source/lib/init.cxx:6666 Which is probably a call on an already disposed document. Fix it similar to how getFonts() does it. Change-Id: I1744bd04b7ebdea1b69ca121b8cfa47314d67528 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174004 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 3d9c008aa92d..156522e2d038 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -6443,6 +6443,10 @@ static char* getStyles(LibreOfficeKitDocument* pThis, const char* pCommand) aTree.put("commandName", pCommand); uno::Reference<css::style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(pDocument->mxComponent, uno::UNO_QUERY); const uno::Reference<container::XNameAccess> xStyleFamilies = xStyleFamiliesSupplier->getStyleFamilies(); + if (!xStyleFamilies.is()) + { + return nullptr; + } const uno::Sequence<OUString> aStyleFamilies = xStyleFamilies->getElementNames(); static constexpr OUString aWriterStyles[] =