https://bugs.documentfoundation.org/show_bug.cgi?id=165145

            Bug ID: 165145
           Summary: EDITING: Assert-trigger when selecting text in the
                    3rd-level indent of an enumeration
           Product: LibreOffice
           Version: 24.8.4.2 release
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Impress
          Assignee: [email protected]
          Reporter: [email protected]

This version is currently installed when upgrading Fedora 41 with "dnf upgrade"

How to reproduce:
1. Open new document
2. Select layout "Title, Content" (first row, third layout from left) 
3. Click on "Click to add Text"
5. Enter a word such as "Text" plus newline
5. Enter tabulator plus text plus newline
7. Enter tabulator plus text
8. Select the most recently added text either by mouse or by shift arrow key
9. Assertion at libreoffice-24.8.4.2/editeng/source/editeng/impedit4.cxx:533

soffice.bin:
rpmbuild/BUILD/libreoffice-24.8.4.2-build/libreoffice-24.8.4.2/editeng/source/editeng/impedit4.cxx:533:
ErrCode ImpEditEngine::WriteRTF(SvStream&, EditSelection, bool): Assertion
`iter != aStyleSheetToIdMap.end()' failed.

Patch to make it work (not a solution):
---
rpmbuild/BUILD/libreoffice-24.8.4.2-build/libreoffice-24.8.4.2/editeng/source/editeng/impedit4.cxx-orig
    2025-02-09 14:05:28.118440547 +0100
+++
rpmbuild/BUILD/libreoffice-24.8.4.2-build/libreoffice-24.8.4.2/editeng/source/editeng/impedit4.cxx
 2025-02-09 13:46:22.895220243 +0100
@@ -530,9 +530,11 @@
                     DBG_ASSERT( pParent, "Parent not found!" );
                     rOutput.WriteOString( OOO_STRING_SVTOOLS_RTF_SBASEDON );
                     auto iter = aStyleSheetToIdMap.find(pParent);
-                    assert(iter != aStyleSheetToIdMap.end());
-                    nNumber = iter->second;
-                    rOutput.WriteNumberAsString( nNumber );
+                    if (iter != aStyleSheetToIdMap.end()) {
+                        //assert(iter != aStyleSheetToIdMap.end());
+                        nNumber = iter->second;
+                        rOutput.WriteNumberAsString( nNumber );
+                    }
                 }

                 // Next Style... (more)

Downgrading to libreoffice-impress-24.8.2.1-2.fc41.x86_64 is, of course,
another workaround.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to