diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2025-03-27 15:11:11 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2025-03-28 12:38:38 +0100 |
commit | 1c5f8e7cafbdfe726e0e62e7691de5dd98430155 (patch) | |
tree | 98a1aa50ff98eac57ca67a20c0b6b42c34e0914e /sfx2/inc | |
parent | 95c42616b7d4b6ff7f6088d29399fb9e9be6c833 (diff) |
It's not clear how to reproduce this problem, but when it happens, an
ODT file can't be saved because of an unhandled exception while
producing styles.xml.
Digging deeper, a container::NoSuchElementException is thrown in
XStyleFamily::getByName(), and when that happens the backtrace is:
#0 (anonymous namespace)::XStyleFamily::getByName (this=0x28fb8740, rName=...)
at sw/source/core/unocore/unostyle.cxx:1031
#1 0x000075ae461d5d8c in (anonymous namespace)::XStyleFamily::getByIndex (this=0x28fb8740, nIndex=0)
at sw/source/core/unocore/unostyle.cxx:1027
#2 0x000075ae541c4d77 in XMLTextListAutoStylePool::XMLTextListAutoStylePool (this=0x75ae243c1318, rExp=...)
at include/com/sun/star/uno/Reference.h:384
I.e. the XMLTextListAutoStylePool gets the NumberingStyles style family,
nStyles is 15, we try to get each numbering style by index, but already
the first fails, because 0 gets turned into a 'Keine Liste' (no list)
name, but getting that internally by name then fails.
Fix the direct problem by catching container::NoSuchElementException in
the XMLTextListAutoStylePool_Impl ctor, not expoting a list style is
better than not being able to save the document at all.
Almost certainly this is an effect of a problem earlier, but this should
improve things till reproducer steps are found for that problem.
Change-Id: Ia9fbe8db9dfe5f90f2583111c3d59b98a914798d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183445
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'sfx2/inc')
0 files changed, 0 insertions, 0 deletions