Repository navigation
Claude/paperless odf phase 1 rnyzcu - #65
Closed
theolivenbaum wants to merge 1264 commits into
Closed
theolivenbaum wants to merge 1264 commits into
theolivenbaum wants to merge 1264 commits into
Conversation
…g, not 88% of it A word that does not fit between two ticks makes chart2 give up on wrapping and start again, and that restart is the only route from "the labels collide" to "the labels are turned 45 degrees". So the limit decides whether a whole axis is turned, and ours was 0.95 of the tick spacing less the text shape's two horizontal insets — 0.88 of the spacing at ten point. Both corrections are in LibreOffice's source and neither is in its binary. `createTextShapes` reduces the limit by 5% "to have a visible distance between the labels" (VCartesianAxis.cxx:753-759) and hands it to the shape as `TextMaximumFrameWidth`, whose text area is that width less the insets `ShapeFactory::createText` sets. Measured against the plot rectangle LibreOffice states in `chart:coordinate-region`, at three boundaries each crossed by a different variable: 26 six-character categories down to 12 upright at 15, turned at 16 limit/spacing 0.990-1.056 20 categories, 3 to 6 characters upright at 4, turned at 5 0.880-1.100 10 categories, 7 to 11 characters upright at 9, turned at 10 0.990-1.100 One is the only round number in the intersection. On those probes the old rule turned an axis two categories early and reserved 20.5 to 41.8 pt of band for it: rot-n14, rot-n15, rot-n20c04 and rot-n10c09 were 29.03, 29.03, 20.54 and 41.77 pt out at the bottom edge and are now 0.09. What the corpus cannot separate is this from 0.95 x spacing + 2 x inset, which fits all three boundaries equally — the two differ by at most 0.36 em and no reachable category count lands between them. Recorded in the remarks rather than resolved. Core 273 -> 275. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Baseline swept whole-track at 150a3da against a checksummed CLI snapshot with SOURCE_DATE_EPOCH pinned: 154/200, absolute page error 80, 164 exact page counts, absolute word error 6728, and all 21 per-batch figures reproduce the scoreboard. An even- or odd-page section break makes Writer insert a page of rDoc.GetEmptyPageFormat() when the side the break's page style wants and the side the alternation would give disagree (pagechg.cxx:1613-1616). PDF export drops it: SwPrintUIOptions::IsPrintEmptyPages reads IsSkipEmptyPages for an export and its default is true (printdata.cxx:391-399). So the blank is laid out, takes a page number, and is not in the file. We were drawing it. The side is physical, not the printed number. The style names one of GetRightFormat/GetLeftFormat and leaves the other null, so InsertPage's flip overrides the SetNumOffset reading above it, and OnRightPage() is GetPhyPageNum() % 2 (frame.hxx:757). We were testing pageNumber, which a section restart moves. Measured on LibreOffice 24.2 with the probe generator committed beside this: a two-section DOCX whose second section carries w:type="oddPage" exports **two** pages and its second page's own PAGE field reads **3**. With the first page numbered two -- next number odd, next physical page even -- it still exports two pages and the second reads **4**, which is the observation that separates the two rules. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…rule Baseline reproduces the brief to the digit: 147/171, absolute page error 90, 154 exact page counts, absolute word error 42322; 171 rows, no duplicate path, no ref-failed. Application_Compliance_Checklist_5_Apr_2021.xlsx paginates 18/14 and draws 26353 words against 17718 because 329 of one sheet's 1033 rows are hidden by a collapsed outline group and by nothing else in the part. A Python prototype of convertOutlines reproduces LibreOffice's hidden set exactly, 329 of 329. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…t costs 163 documents at the weight commit against the same kept reference set. MATCH 151, ink% 1268.44 -> 1270.05, |ink|% 1589.24 -> 1591.86, major pages 427 either way, census 303 unexplained over 91 documents unchanged. No verdict moved. Reach measured by rendering, not by censusing: 160 of 163 byte-identical, 3 changed — southern-classic (+2.26), 171128IPAP (+0.41) and Sector_Skills (-0.05). The census that says 36 of 61 chart parts state a weight is the ceiling, and it counts only over the 15 documents that carry an OOXML chart part at all. **The metric moved the wrong way and the faces moved the right way**, so both numbers are here. On southern-classic page 11 the reference draws 74 bold records and we drew 69 regular and 5 bold; we now draw 74 bold. Page 12 and page 5 the same. What is left there is the *size*: the reference draws that page at 13.59, 14.00 and 15.49 pt where we draw one flat 14.00, so a bolder face puts more ink into a mismatch that was already there. That is the per-element c:txPr size ChartPlot collapses into one LabelSize, and it is where the 2.26 sits. 171128IPAP's +0.41 is a second, different residue: its page 38 chart is drawn in LiberationSans where the reference resolves Carlito, so the weight is now right in the wrong family. Page 36, whose family is right, moved to Carlito-Bold exactly as the reference has it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
SwFrame::InsertPage takes the side the new page wants from the restart value through sw::IsRightPageByNumber (pagechg.cxx:1590-1596), which asks only whether the restart's parity agrees with the first page of the layout's own number (frmtool.cxx:3146-3153). When that disagrees with the natural alternation it inserts the same rDoc.GetEmptyPageFormat() page as an odd-page break does -- and PDF export drops that one too, so it is invisible except in the numbering and in the physical parity a later odd- or even-page break then tests. An odd- or even-page break does not come through this arm: its style names one side only, so InsertPage's format-availability flip overrides the restart reading entirely. Measured on LibreOffice 24.2, three probes differing only in the restart value: a three-section DOCX whose last section breaks to an odd page and whose paragraphs print their own PAGE reads 1, 2, 3 with no restart; 1, 19, **21** restarting the middle section at 19; 1, 20, 21 restarting it at 20. All three export three pages. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Two changes, both measured against LibreOffice 24.2.7.2's own output. **A collapsed outline group hides its detail rows.** SpreadsheetML states an outlineLevel per row and a `collapsed` flag on the summary row beside the group; Excel usually also writes hidden="1" on every detail row, so the derivation is invisible on most files. On Application_Compliance_Checklist_5_Apr_2021.xlsx nothing else says so, and 329 of one sheet's 1033 rows are hidden by this rule alone — 18 printed pages against the reference's 14. Ported from WorksheetGlobals::convertOutlines; a Python prototype reproduced LibreOffice's own hidden set exactly, 329 of 329, before any C# was written. XLSX and XLSB both; BIFF deliberately not, because a ROW record carries fHidden itself. **The header and footer band was drawn in four wrong ways at once**, all four visible in one measurement on fm-provider-service-measures.xlsx: only the first line of each part was drawn, the &<n> size code was ignored, the page's own zoom was not applied, and the text was centred in the band where LibreOffice anchors it. Every Excel band is dynamic (xipage.cxx:316-331), so its height is its text's and its text sits against the edge the margin fixes — the header's top, the footer's bottom. The reference puts that header's first line at 21.618 pt and its footer's last at 590.343; we now put them at 21.601 and 590.400, against 30.212 and 761.571 before. fm-provider-service-measures.xlsx 20944/21458 words -> 21364/21458, a match. Application_Compliance_Checklist_5_Apr_2021.xlsx 18 pages/26353 words -> 14/17237 against 14/17718; still short by its visible cell comments. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
By the time control reaches the restart-parity arm, SectionBreak.NewColumn means the columns lined up and the break stayed inside the sheet, so no page was inserted and there is nothing to align. Excluded beside Continuous. A no-op on the words track and recorded as one: no .doc section carries sprmSBkc 1 together with sprmSFPgnRestart, and no DOCX sectPr in the track declares w:type="nextColumn" at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
… and tests Two more measurements off LibreOffice's own PDF of the new fixture, both of which the first pass had wrong: - The three parts share one band height, the tallest of the three, and each is centred in it (PrintHF gives one aPaperSize and computes nDif per area). The fixture's footer holds two 8 pt lines on the left and one 10 pt line on the right, and LibreOffice puts the right line 3.35 pt above the footer margin — half the difference — where anchoring each part independently puts it hard against the margin. - A section switch resets the font to the workbook's own default: ResetFontData (xihelper.cxx:534-548), setNewPortion (pagesettings.cxx:868-876). '&L&8...&RFoot right' draws the right part at ten point, not eight. SheetBandHeight carried the same defect and is corrected with it, so a band's height and its drawing now agree. tests/corpus/features/sheet-outline-collapse.xlsx is authored to separate the decisions: a collapsed group, an identical group closed without the flag, and a nested pair where only the inner one collapses. LibreOffice hides rows 4-8 and 19-21 of its 23 and we now hide the same eight. Its header and footer lines land within 0.08 pt of LibreOffice's. 15 cases, all passing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
The stated weight on axis labels, legend and data labels is closed exactly as the design here specified. What the work found on the way out is a new item with a measurement rather than a guess behind it: the chart's per-element text *size*, which ChartPlot collapses into one LabelSize. southern-classic page 11's reference draws 55 records at 14.00 pt, 12 at 15.49 and 7 at 13.59, all bold, where we draw 74 at one flat 14.00. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
… one The first version changed the '&L' case alone, and the case that detects the defect uses '&L&8Left&RRight' — where the reset that matters is the one on '&R'. It came back undetected, and the mutation was wrong rather than the test. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
154/200 unchanged, absolute page error 80 -> 76, 164 exact page counts unchanged, absolute word error 6728 -> 6694. Three documents changed a byte, all three toward the reference, none flipping a verdict -- the scoreboard did not move. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…he test counts 163 documents at the round's head: MATCH 151, ink% 1270.05, |ink|% 1591.86, 427 major pages, 303 census pages unexplained over 91 documents — byte-identical to the weight-only sweep on all 163, so the wrap limit moves nothing in this corpus. Plot rectangles against LibreOffice's own: 37 of 61 charts measurable, mean per-edge error 2.84 pt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Mutating the corpus document rather than probing: reducing every w:trHeight to 80 twips makes LibreOffice produce 15 pages with 439 words on page 3, against our 15 and 434. Reducing only row 3's, or only the four 13800s, changes nothing. Ours is the layout of a document that declares no minimum row heights at all. TableLayouter.LayOut applies the floor and an unsplit row is right on both sides; SliceRow measures a split part from its cells' line bottoms alone and never consults PageTableRow.MinHeight, so the floor is lost the moment a row crosses a page. The minimum-height guess in the first draft of this entry is refuted by the single-row mutations and replaced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
It was still running when the scoreboard entry was written and is recorded now rather than assumed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…rawn Page error 80 to 76. The odd-page filler was diagnosed the wrong way round, and the previous round's own caution was the finding: it warned that reconstructing IsRightPageByNumber predicts a filler where the reference has none. The filler is predicted correctly and then not exported -- SwPrintUIOptions::IsPrintEmptyPages reads IsSkipEmptyPages, whose default is true for a PDF export, so the empty page is laid out, takes a page number, and is not in the file. We were drawing it. The side is also decided physically, not by number: the break's page style leaves one of GetRightFormat/GetLeftFormat null, and that flip overrides the SetNumOffset reading above it. Separated by measurement on the installed 24.2 rather than read off the source -- a two-section DOCX with oddPage exports two pages whose second reads PAGE=3, and with page one numbered two, so the next number is odd while the next physical page is even, it still exports two and reads 4. That second probe is what tells the rules apart. Both censuses over-stated again: ceiling 6 against 3 changed, and ceiling 50 against 1. Only one DOCX in the whole track declares oddPage. Two findings recorded in the skill because they reach past this track. An authored probe with no word/styles.xml lays out in the fallback face -- two probes came out Liberation Serif 10 pt against the Carlito 11 pt they were being compared with, and nothing about the file looks wrong. And a page LibreOffice lays out may not be in its PDF at all, which breaks the natural assumption that the reference PDF lists the pages the reference produced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Rendered at both commits with SOURCE_DATE_EPOCH set and byte-compared over every words and sheets document. The weight cannot reach them by construction; the wrap limit is unconditional and reaches none of them either. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…ause refuted
The handover says `SliceRow` loses a row's `w:trHeight` floor when the row
crosses a page. Traced on f445896eb008d14c1746fc37d412dc22.docx: nine rows
split, and for every one of them the parts already sum to more than the
declared floor —
row 5 193.35 + 26.95 = 220.30 floor 185.05
row 8 127.10 + 137.70 = 264.80 floor 248.25
row 11 32.90 + 107.95 = 140.85 floor 109.30
row 12 582.80 + 111.10 = 693.90 floor 690.00
row 14 365.00 + 685.40 + 691.00 + 691.00 + 35.40 = 2467.80 floor 690.00
row 16 508.20 + 667.20 = 1175.40 floor 690.00
row 17 28.15 + 189.20 = 217.35 floor 185.05
row 18 502.70 + 391.65 = 894.35 floor 690.00
row 21 75.75 + 317.85 = 393.60 floor 362.05
so nothing is lost by not consulting the floor across a split. LibreOffice
charges the floor to the *sum* of the parts too — `lcl_CalcMinRowHeight`
skips it for a row `IsInSplit()`, and `lcl_calcHeightOfRowBeforeThisFrame`
subtracts the earlier parts' heights for a follow — so both engines already
agree here.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…rnyzcu # Conflicts: # dotnet/TODO.batches.md
… BIFF band Two corrections from the fidelity suite, which caught both. **A part's pieces are one run unless the size changes.** Drawing one glyph run per literal and per field split 'Page &P of &N' four ways, and a PDF reader infers a word boundary at every reposition; SheetDecorationComparisonTests counts the band's runs and reported 10 where it expects 5. Neighbouring pieces at one size are now concatenated before shaping. **The dynamic-band anchoring is measured right on SpreadsheetML and wrong on BIFF.** LibreOffice's own PDFs of the sheet-decor fixture triple put the .xls band 1.5 pt further inside the page than the .xlsx band at both edges - header 58.20 against 56.70, footer 783.66 against 785.16, with the .fods agreeing with the .xls. So HeaderIsDynamic/FooterIsDynamic are set by the OOXML readers only, and XlsPrintSetup carries the measurement and says plainly that the cause is not settled. 1.5 pt is the gap between a measured line height and the bare point size the filters use as their nominal, so it is probably in that arithmetic. Spreadsheets 588, SheetDecorationComparisonTests 12 of 12. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…imes A stated weight on axis labels and the legend, threaded into the measurements rather than only the drawing -- a bold label is wider, so it moves the plot rectangle and changes when labels collide. Reach 3 of 163. |ink|% moved against us by 2.62 and the faces moved with the reference, so it was kept with the second error localised: on one deck the reference draws page 11 at 13.59, 14.00 and 15.49 pt where we draw one flat 14.00, because ChartPlot collapses the per-element c:txPr size into one LabelSize. That accounts for 2.26 of the 2.62 and is now an item in the module TODO. My brief's first item is refuted. PlotAreaOf's per-edge reservation *is* what adjustInnerSize computes -- the inner rectangle is the available one shrunk per edge by the consumed box's overhang, run to a fixpoint -- and an eleven-variant probe puts our upright rectangle within 0.09 pt of LibreOffice's own on every edge. Two rules sharpened in the skill. The source in this tree was wrong twice about the wrap limit while the binary was right both times, so a citation is a hypothesis with a file and a line number: cite it, then derive the number from a probe against the installed binary, and say which each claim rests on. And an instrument can manufacture a defect out of nothing -- a plot-rectangle reader returned a tick's 4 pt span instead of the plot's, and unrestricted to the chart frame reported 2161 pt of error on a deck whose real error is 25.64. Run a new instrument on a case whose answer you know before believing its first big number. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
The two corrections the fidelity suite found landed after the complete whole-track sweep. A second sweep on the corrected tree did not finish; over the 133 of 171 rows it reached it moves two documents by six words in total and no verdict, which is quoted as a partial. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…Plot collapses 20 of the 61 chart parts across 6 of the 112 corpus decks state a size on a c:dLbls or on a second axis that ChartPlot's single LabelSize discards. Quoted as a ceiling over the OOXML half of the track; a .ppt chart is not read here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
148/171 matches, absolute page error 86, 155 exact page counts, absolute word error 33174, from 147/90/154/42322. Batch 015 goes 5/9 to 6/9 and no batch fell. 171 rows, no duplicate path, no ref-failed, on both the intermediate and the final tree; between those two sweeps three documents change by seven words in total and no verdict does. Fidelity 550 of 550 on the final tree, and every other project at its known-good count. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…rnyzcu # Conflicts: # dotnet/TODO.batches.md
…is labels' ChartPlot carried one LabelSize for the axes, the data labels and (unstated) the legend. A data label states its size in its series' c:dLbls/c:txPr, which is a different statement from an axis' — so a file stating both drew one of them at the other's size. Measured on page 11 of southern-classic-kennesaw-state-university-final.pptx, which is where round thirty's weight fix left 2.26 of its 2.62 |ink|%: chart15 states sz=1600 on its four series' c:dLbls and sz=1400 on its category axis and legend, LibreOffice's own odp of the deck writes four styles at 16pt and two at 14pt, and we drew all seventy-four text records on the page at a flat 14. DataLabelSize and IsDataLabelBold are nullable for the reason LegendSize is: a reader that does not look for them leaves every data label reading LabelSize, so the ODF and PPT paths are unchanged. Sweep to follow. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
154/200 verdicts, absolute page error 78, 164 exactly-correct page counts, absolute word error 6512. Reproduces the brief exactly, 200 rows, no duplicate paths. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two independent measurements against the brief's hypothesis that DOCX table row heights carry a law equivalent to the sheets track's. 1. `row-height-census.py` over the 400 PDFs the baseline sweep already wrote. A vertical stroke inside a table is a cell edge and its length is that cell's drawn height, so the sorted multiset of vertical stroke lengths on a page is the multiset of drawn row heights — translation invariant, which matters because one wrong row displaces every rule below it. Over the 164 page-exact documents: **4264 paired rules, 3410 of them (80%) agree within 1 pt.** Of the 854 that differ, 383 are ours taller and 471 ours shorter — both signs, near balanced, median −1.68. There is no systematic "our rows are too tall". 2. The control the skill asks for. Of the 76 *matching* page-exact documents that draw any pairable cell edge, **46 have a row height off by more than 1 pt and 35 by 10 pt or more** — 61% and 46%, against 6 of 8 on the word-failing ones. A drawn row-height difference does not separate broken documents from correct ones. The 10 pt cell that motivated the task is real and is one rule, not a law. `header-row-mutations.py` varies what one cell of `UG.CAO.00133`'s header table holds and reads the drawn geometry back from both renderers: cell content ref ours diff tbl(2 rows) + empty p 26.35 36.65 +10.30 tbl(1 row) + empty p 14.55 24.90 +10.35 tbl(3 rows) + empty p 38.05 48.40 +10.35 tbl(2) + p "ZZZ" 37.75 36.50 −1.25 tbl(2) + empty p ×2 49.55 48.29 −1.26 empty p + tbl(2) + empty p 37.95 48.29 +10.34 empty p, no table 14.45 14.40 −0.05 One rule fits all seven to a tenth of a point: **LibreOffice drops a cell's last paragraph when it is empty and immediately follows a table.** In `tbl,p,p` the last paragraph follows a *paragraph*, so both are kept, which is why the difference vanishes there; in `p,tbl,p` the trailing one still goes. That paragraph is the one OOXML makes mandatory after a nested table. `nested-filler-census.py`: **8 of 134 DOCX** carry the shape, and the census can see none of the 66 `.doc`. Six of the eight fail, five of them by exactly one page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
and a greyscale JPEG was announced to PDF as three-channel colour Two defects, found together on `omrIMInterpretiveGuideLine.doc` — the user's report of "missing what looks like a header in a text box or an image or both". The masthead reaches our model intact: `paperless extract` has every word of it, so this was never a reading fault. 1. **A group is one FSPA and many shapes.** Word anchors a shape group with a single `FSPA` naming the group's identifier; the shapes underneath it have no anchor of their own and state their rectangles in the group's `msofbtSpgr` coordinate space with an `msofbtChildAnchor`. `Ww8Frames.Build` made one `PageFrame` per anchor, so a Word 97 letterhead drew as an empty rectangle. Flattened into an envelope plus one sibling frame per leaf, which is what the layout engine places and what `DocxFrames` already does for a `wpg:wgp`; `Ww8GroupTransform` divides out the child space and composes through nesting. The envelope now paints nothing. An `SdrObjGroup` has no fill and no line, and ours had both by the `fallback: true` default — its opaque white was painting over the body text underneath, which is the second reason this document's masthead was blank. 2. **`/ColorSpace/DeviceRGB` on every passed-through JPEG.** The pass-through hands the file's own bytes to `DCTDecode`, which takes its colour space from the PDF rather than from the JPEG. This document's seal is a **635×638 one-component** JPEG; announced as three-channel it is read three samples at a time out of a stream that has one, and draws as three squashed copies across the top of its box. `PdfImages` now reads the `SOF` component count: one is `/DeviceGray`, three is `/DeviceRGB`, and anything else (a CMYK JPEG, whose inversion depends on an Adobe marker) falls through to be decoded and deflated rather than passed through wrong. This one is not a words defect. It reaches every document on every track that embeds a greyscale JPEG. Measured on the document: 355 words against the reference's 382 before, **376 against 382** after — inside the gate's 2% band. The drawn geometry now agrees to within 0.05 pt on all five inner boxes and the seal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…iction `DocxLayoutSource.ReadCell` now drops a cell's last paragraph when it is empty and the block before it is a table — the paragraph OOXML makes mandatory because a `w:tc` may not end with a `w:tbl`, and which LibreOffice does not lay out. `UG.CAO.00133`'s header row goes 36.65 pt to 25.0 against the reference's 26.35. The rule is the reference's, read off seven mutations of one real cell rather than off the specification, and the two conditions are both load-bearing: with *two* trailing empty paragraphs LibreOffice lays out both, because the last one follows a paragraph rather than a table. In the DOCX reader rather than in the layout, deliberately. An ODF cell may end with a table, so an empty paragraph after one there is the author's. `prediction.md` is committed before anything is rendered post-change, with each change's reach stated separately and with what its census can and cannot see. The one with no census at all is the DOC group flattening, and I expect that to be the estimate that misses. `formfield-census.py`: **16 of 200 documents** carry a legacy `FORMCHECKBOX` — 13 DOCX and 3 DOC, 249 of them on `FO.FCTOA.00010` alone. Not implemented this round; see the report for why the drawn size could not be pinned. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
154 -> 155 matching, page error 78 -> 77, exact page counts 164 -> 165,
word error 6512 -> 6605. 14 renderings changed of a predicted 10-30.
`omrIMInterpretiveGuideLine.doc` `words` -> `match`, which is the verdict the
prediction named. `May 25 bulletin focus on carers in the workplace.docx` goes
5/4 pages to 4/4 and now fails on words alone.
**Byte-comparing our own two renderings does not measure reach here** — every
one of the 200 differs, because the PDF writer stamps `/CreationDate`.
Normalising that one string gives 14. Worth recording: the skill recommends the
byte comparison as a cheap decisive check and it silently answers 200.
Reach by change, all of it measured by rendering:
the nested-table filler paragraph 8 DOCX (exact census said at most 8)
a DOC shape group flattened 2 .doc (guessed 4-15 — the estimate
with no census, and the miss)
a greyscale JPEG as /DeviceGray 3 .doc
a CMYK JPEG decoded, not passed 2 .docx
The word error rose 93 and the tree is better. It is one document,
`150_5335_5a.doc`: under-draw 236 -> 191 as its group's members are drawn at
last, over-draw 227 -> 325, and the pixel metric goes the other way — total
|ink|% over its 63 pages 45.94 -> **39.23** with the major-page count unchanged
at 14.
Fourteen tests. `NestedTableFillerTests` pins both halves of the filler rule,
including the two cases that separate it from "drop a trailing empty paragraph"
and from "drop an empty paragraph after a table". `DocShapeGroupTests` asserts
the coordinate transform rather than only the member count, because a group
whose members all land at its origin extracts perfectly and looks like one
black box. `PdfWriterTests` gains the greyscale and CMYK cases — and its
existing JPEG fixture had no `SOF` at all, so it is now a JPEG as far as its
frame header.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`jpeg-component-census.py` scans whole files for JPEG frame headers, so it reads a zip container and an OLE2 container alike — the component count is a property of the image bytes and not of anything that has to resolve, which is why this census is a reach rather than a ceiling. words 5 of 200 slides 7 of 163 sheets 0 of 171 Words is the control: the census says 5 and exactly 5 words documents changed for this reason in the sweep, three gaining /DeviceGray and two ceasing to be passed through. Sheets cannot be touched at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
154 -> 155 matching, page error 78 -> 77, exact page counts 164 -> 165, word error 6512 -> 6605 with the reason measured. Refutes the round's own brief on table row heights with two independent measurements, and records the one rule that was underneath it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…hat owed measuring 154 -> 155 of 200, page error 78 -> 77, exact pages 164 -> 165. The row-height law the round was briefed to find does not exist. Over the 164 page-exact documents, 3410 of 4264 paired cell edges agree within 1 pt and the 854 that differ split 383 ours-taller against 471 ours-shorter — no direction — and on the 76 *matching* page-exact documents 46 differ by more than 1 pt and 35 by 10 pt or more. What is real underneath it is one rule, established by mutating a cell seven ways and reading both PDFs: LibreOffice does not lay out a cell's last paragraph when it is empty and the block before it is a table. Both conditions load-bearing; census exact at 8 of 134 DOCX and all 8 changed. `omrIMInterpretiveGuideLine.doc` is fixed and matches — read but never drawn, three stacked defects, the group envelope painting an opaque white box over the body text. `FO.FCTOA.00010` is not a missing picture at all: 249 legacy FORMCHECKBOX fields, 16 documents carry them, and 12 of the 16 currently match, so it is established and deliberately not implemented. `PdfImages` declared /DeviceRGB for every passed-through JPEG. Greyscale is now /DeviceGray and CMYK is decoded. Shared layer, so the seven affected slides decks were rendered both sides: all seven changed, not one gate column did. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
…the +/-1 page cluster Baseline at 45fea26 over words/batch-*, 200 rows, no duplicate paths: 155/200 match, absolute page error 77, 165 exactly-correct page counts, absolute word error 6605 — every figure of the brief, to the digit. Of the 45 mismatches, 23 sit at a page delta of exactly +/-1 (13 short, 10 long) and a further 10 paginate exactly and fail on words alone. Two probes, neither yet run: page-boundary-drift.py anchors the last tokens of each of our pages in the reference's own token stream and reports where that lands relative to the reference's page end. A per-page word count cannot tell a moved break from its consequences; this can, because it is measured against the reference's stream position rather than against its page number. text-band-census.py reads every word box out of both PDFs and reports the top, bottom and height of the band of marks on each page. A document that fits a different amount of text between the same margins is either using a taller band or a tighter pitch, and this separates the two directly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…the line's SwTextFormatter::CalcRealHeight (sw/source/core/text/itrform2.cxx:2441-2453) adds (prop-100)% of GetLineSpacingBaseHeight() to the line height rather than scaling the line, and only a portion that IsUsedToCalcLineSpacingHeight raises that base — a fly-in-content is not one (porlay.cxx:110). So an as-character picture makes the line taller and leaves the percentage alone. Six authored DOCX probes, measured against the installed 24.2.7.2: spacing picture LibreOffice's gap scaled base-height rule 100% 150 pt 163.8 163.8 163.8 150% 10 pt 41.4 41.4 41.4 150% 150 pt 177.6 252.6 177.6 200% 150 pt 191.4 341.4 191.4 75% 150 pt 122.85 122.85 146.55 <- below 100% it IS scaled 150% 150+12pt 180.2 255.9 180.2 150% 150+36pt 199.15 240.9 199.15 The 75% row is the one that decides the shape of the fix: Writer takes the other branch there (PROP_LINE_SPACING_SHRINKS_FIRST_LINE, which multiplies nLineHeight), so the base height is used only at or above 100%. Ours now matches every probe to 0.05 pt except the three where the picture is alone on its line, which stay 2.6 pt tall — our line keeps the paragraph font's descent under a picture-only line and LibreOffice's does not. Left alone deliberately: an existing measurement in MeasuredParagraph cites an ODF fixture where LibreOffice *does* add that descent, and these probes cannot separate a format difference from a text-on-the-line one. Not yet a corpus fix. The document that produced the rule is a .doc, and it has not moved: the round-tripped DOCX of it lands Introduction at 479.36 against the reference's 476.91, where the .doc still lands it at 577.11. The WW8 path is not delivering this picture as an as-character inline object, and that is the next thing to find. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e rule A .doc states a picture-only paragraph with no run at all, so the line had no text height to take a percentage of and the fix committed before this one could not reach it — the round-tripped DOCX of the same document moved and the .doc did not. Writer has the same gap and fills it the same way (porlay.cxx:645, SetLineSpacingBaseHeight(rInf.GetTextHeight())): the paragraph's own font. Threaded as an optional emSize on the measured Layout overload, from both callers. 1257259179492_2007_TPPT_102_Supporting_Doc_2.doc: 10 pages against 9 becomes 9 against 9, and its Introduction heading lands at 476.76 against the reference's 476.91. Six tests in InlineObjectLineSpacingTests. Two independent points fix the slope — 150% adds half the text height, 200% adds it whole — so a rule of 'add half' cannot pass in place of '(prop - 100)%'. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ceiling 4 of 200, from a zip census over the 134 DOCX and a flat-ODF census over the 66 .doc — between them the whole track, which is the first time this track has had a census that is not blind to half of itself. Both are still ceilings: neither tests whether the object is taller than the text, which is the condition that makes the two heights differ at all. Predicted: 2-4 renderings changed, matching 155 -> 156-157, page error 77 -> 75-77, exact pages 165 -> 166-167, word error 6605 -> 6590-6610. Two of the four carriers currently match, so they are the downside risk. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
155 -> 157 match, page error 77 -> 75, exact pages 165 -> 167, word error 6605 -> 6602, 11 renderings changed against a predicted 2-4. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
after.tsv is the post-change sweep; drift.tsv is page-boundary-drift over all 200 at the baseline; band.tsv is the text-band census over all 200. The rendered PDFs they were computed from are gone; these are what a later round needs to re-derive either refutation without re-rendering the track. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The cross-track measurement a Paperless.Text change owes needs the tree built at the base commit, so dotnet/src was checked out at 45fea26 to render the slides and sheets tracks with the old code. The next two commits then used 'git add -A' and committed that revert, and the commit after them restored the working tree to it. Nothing measured is affected: the words sweep, the reach comparison and every test count in results.md were produced by a tree built from the fixed source, before the checkout. What was wrong was only what the branch would have handed on. This is the skill's warning about 'git add -A while the patch is applied' with the sign reversed, and it survived a clean 'git status' because the tree really did match its own HEAD. The check that catches it is 'git diff <base>..HEAD --stat -- dotnet/src' being non-empty when the round shipped code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…unts Slides and sheets rendered whole with our own CLI at 45fea26 and at this branch, SOURCE_DATE_EPOCH pinned, /CreationDate normalised: 334 of 334 byte-identical, 0 differing. A Paperless.Text change owes a measurement rather than an argument, and this is the measurement. Also recorded: 'git add -A' while dotnet/src was checked out at the base commit for that very sweep committed the revert, twice, and every ordinary check passed because the tree matched its own HEAD. The check that catches it is 'git diff <base>..HEAD --stat -- dotnet/src'. Core 284, Containers 109, Text 277, Vector 293, Rendering 121, Markup 259, OpenDocument 125, WordProcessing 746, Spreadsheets 621, Presentations 576, Fidelity 550 — 0 skipped, 0 warnings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…t of the line 155 -> 157 of 200, page error 77 -> 75, exact pages 165 -> 167. A line at p% is extended by (p - 100)% of the line's *text* height, added to the line height rather than scaling it, so an as-character picture makes the line taller and takes no share of the percentage. Derived from SwTextFormatter::CalcRealHeight but established from eight authored probes read against the installed 24.2.7.2: a 150 pt picture in a 12 pt paragraph gives 177.6 at 150% where scaling gives 252.6, and 191.4 at 200%, so the slope is fixed; 180.2 with 12 pt of text beside it against 199.15 with 36 pt, so the base is the line's text and not the paragraph's. Below 100% the whole line really is scaled — the other branch — and that refuted alternative is pinned by a test. The ±1 cluster has no shared cause. Not page capacity: 14 of the 23 differ in band of ink by under 1 pt while 17 of the 155 that match differ by 10 pt or more. Not an empty page: 3 of 45 against 2 of 155. The divergence pages do not concentrate, though 9 of 23 fall in the first three pages and both fixed documents are there. The reach prediction was threefold low because the census read each w:p's own w:spacing and missed style inheritance — the declare-versus-draw trap reversed, and worse, because a low prediction that comes true reads as a good one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
… hides itself Two rules from words round 45. A cross-track sweep that checks dotnet/src out at the base commit will have its revert committed by any `git add -A` that follows, and the tree stays clean because it matches its own HEAD; the check is `git diff <base>..HEAD --stat -- dotnet/src`, run before reporting and again at the merge. And the mirror of the declare-versus-draw trap: a census that missed style inheritance gave a ceiling of 2-4 where the reach was 11. A low prediction that comes true reads as a well-calibrated one, so an under-reaching census is self-concealing in a way an over-reaching one is not. Write down what the census cannot see, before the sweep. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCFkGZ2rzTHM5gqrwG1P7U
theolivenbaum
pushed a commit
to curiosity-ai/x-ray-office
that referenced
this pull request
Aug 19, 2026
`AC-150-5370-10G-updated-201604.docx` renders 693 pages against 696. The first loss is at reference page 187, not 195: the earlier localisation measured its "118.3 pt gap" down to the *footer* rather than to the bottom of the text area, and folio alignment is vacuous because both renderings put folio n on PDF page n+6 by construction. Content alignment with the running furniture stripped, and an offset required to hold for eight consecutive pages, puts the three losses at reference pages 187, 289 and 372. `probes/caption-keepnext-table/reproduce.py` slices 13 body blocks out of the real document, keeps every other package part byte-for-byte, and reproduces the divergence exactly. Sweeping the room separates two defects: - When the table fits, we agree with the reference to 0.1 pt on all nine cases. When it does not, the reference places *no* row and moves the table whole; we split it. Writer's gate is tabfrm.cxx:3061-3092 — a table splits only if its first `nMinNumOfLines` rows fit, where that count starts at the `w:tblHeader` count. We have no such minimum. - Ablating `keepNext` out of the `Caption` style moves the reference's last body line from 583.5 to 602.2, which is exactly where we put the caption. So the reference honours keep-with-next onto a table and we do not: Paginator.cs:1357 requires the successor to be a paragraph, and MoveTrailingGroupToNextPage stops its backward walk at a table. Refuted on the real shape: repeated headings, borders, declared width, and a floating table (the tblPr holds no tblpPr, so this is not LibreOffice#65). `caption-table-keep.py` builds the same shape synthetically and contradicts the ablation — across 36 cases the reference leaves the caption behind whatever keepNext says, and we match it. Its paragraph-to-paragraph control is sound (the boundary falls cleanly at 49 filler lines, and we match all 32 cases), so the instrument works and something about the real document's shape is missing from the synthetic one. Both results are recorded rather than the convenient one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GaMTqGsGtQPgZrzgEPeCAB
timar
pushed a commit
to CollaboraOnline/online.mirror
that referenced
this pull request
Sep 10, 2026
...as exposed by new CppunitTest_sc_ooxml_functions_let_test (a032369 "sc: add LET function test with a self-checking workbook"), > ==1372959==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c29283ee55b at pc 0x7bf8b847c25d bp 0x7fff75185d90 sp 0x7fff75185d88 > READ of size 1 at 0x7c29283ee55b thread T0 > #0 in formula::FormulaToken::IncRef() const at engine/include/formula/token.hxx:162:17 > LibreOffice#1 in formula::intrusive_ptr_add_ref(formula::FormulaToken const*) at engine/include/formula/token.hxx:232:8 > LibreOffice#2 in boost::intrusive_ptr<formula::FormulaToken const>::intrusive_ptr(formula::FormulaToken const*, bool) at engine/workdir/UnpackedTarball/boost/boost/smart_ptr/intrusive_ptr.hpp:59:34 > LibreOffice#3 in std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>::pair<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_pair.h:467:4 > LibreOffice#4 in T* std::construct_at<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, formula::FormulaToken const*&, formula::FormulaToken const*&>(T*, T0&&...) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_construct.h:110:22 > LibreOffice#5 in void std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, true>>>::construct<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, formula::FormulaToken const*&, formula::FormulaToken const*&>(std::allocator<std::__detail::_Hash_node<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, true>>&, std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>*, formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/alloc_traits.h:727:4 > LibreOffice#6 in std::__detail::_Hash_node<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, true>>>::_M_allocate_node<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/hashtable_policy.h:1575:6 > LibreOffice#7 in std::pair<std::__detail::_Node_iterator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, false, true>, bool> std::_Hashtable<boost::intrusive_ptr<formula::FormulaToken const> const, std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, std::allocator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>>, std::__detail::_Select1st, std::equal_to<boost::intrusive_ptr<formula::FormulaToken const> const>, FormulaTokenRef_hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>>::_M_emplace_uniq<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/hashtable.h:2369:13 > LibreOffice#8 in std::pair<std::__detail::_Node_iterator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, false, true>, bool> std::_Hashtable<boost::intrusive_ptr<formula::FormulaToken const> const, std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, std::allocator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>>, std::__detail::_Select1st, std::equal_to<boost::intrusive_ptr<formula::FormulaToken const> const>, FormulaTokenRef_hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>>::emplace<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/hashtable.h:1050:13 > LibreOffice#9 in std::pair<std::__detail::_Node_iterator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, false, true>, bool> std::__cxx1998::unordered_map<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>, FormulaTokenRef_hash, std::equal_to<boost::intrusive_ptr<formula::FormulaToken const> const>, std::allocator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>>>::emplace<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/unordered_map.h:457:16 > LibreOffice#10 in std::pair<__gnu_debug::_Safe_iterator<std::__detail::_Node_iterator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>, false, true>, std::__debug::unordered_map<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>, FormulaTokenRef_hash, std::equal_to<boost::intrusive_ptr<formula::FormulaToken const> const>, std::allocator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>>>, std::forward_iterator_tag>, bool> std::__debug::unordered_map<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>, FormulaTokenRef_hash, std::equal_to<boost::intrusive_ptr<formula::FormulaToken const> const>, std::allocator<std::pair<boost::intrusive_ptr<formula::FormulaToken const> const, boost::intrusive_ptr<formula::FormulaToken const>>>>::emplace<formula::FormulaToken const*&, formula::FormulaToken const*&>(formula::FormulaToken const*&, formula::FormulaToken const*&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/debug/unordered_map:375:24 > LibreOffice#11 in ScInterpreter::Interpret() at engine/sc/source/core/tool/interpr4.cxx:4423:38 > LibreOffice#12 in ScInterpreter::ScCall(boost::intrusive_ptr<formula::FormulaCallable const>, std::__debug::vector<boost::intrusive_ptr<formula::FormulaToken const>, std::allocator<boost::intrusive_ptr<formula::FormulaToken const>>> const&) at engine/sc/source/core/tool/interpr1.cxx:11073:46 > LibreOffice#13 in ScInterpreter::ScLet() at engine/sc/source/core/tool/interpr1.cxx:11318:5 > LibreOffice#14 in ScInterpreter::DispatchOpCode(OpCode) at engine/sc/source/core/tool/interpr4.cxx:3890:35 > LibreOffice#15 in ScInterpreter::Interpret() at engine/sc/source/core/tool/interpr4.cxx:4414:17 > LibreOffice#16 in ScFormulaCell::InterpretTail(ScInterpreterContext&, ScFormulaCell::ScInterpretTailParameter) at engine/sc/source/core/data/formulacell.cxx:2275:23 > LibreOffice#17 in ScFormulaCell::Interpret(int, int) at engine/sc/source/core/data/formulacell.cxx:1917:13 > LibreOffice#18 in ScFormulaCell::MaybeInterpret() at engine/sc/inc/formulacell.hxx:515:17 > LibreOffice#19 in ScFormulaCell::IsEmpty() at engine/sc/source/core/data/formulacell.cxx:3219:5 > LibreOffice#20 in ScRefCellValue::hasEmptyValue() at engine/sc/source/core/data/cellvalue.cxx:699:27 > LibreOffice#21 in ScInterpreter::Compare(ScQueryOp) at engine/sc/source/core/tool/interpr1.cxx:880:27 > LibreOffice#22 in ScInterpreter::ScEqual() at engine/sc/source/core/tool/interpr1.cxx:1144:22 > LibreOffice#23 in ScInterpreter::DispatchOpCode(OpCode) at engine/sc/source/core/tool/interpr4.cxx:3851:35 > LibreOffice#24 in ScInterpreter::Interpret() at engine/sc/source/core/tool/interpr4.cxx:4414:17 > LibreOffice#25 in ScFormulaCell::InterpretTail(ScInterpreterContext&, ScFormulaCell::ScInterpretTailParameter) at engine/sc/source/core/data/formulacell.cxx:2275:23 > LibreOffice#26 in ScFormulaCell::Interpret(int, int) at engine/sc/source/core/data/formulacell.cxx:1917:13 > LibreOffice#27 in ScFormulaCell::MaybeInterpret() at engine/sc/inc/formulacell.hxx:515:17 > LibreOffice#28 in ScFormulaCell::GetErrorOrValue(FormulaError&, double&) at engine/sc/source/core/data/formulacell.cxx:3515:5 > LibreOffice#29 in ScValueIterator::GetThis(double&, FormulaError&) at engine/sc/source/core/data/dociter.cxx:226:27 > LibreOffice#30 in ScValueIterator::GetNext(double&, FormulaError&) at engine/sc/source/core/data/dociter.cxx:310:12 > LibreOffice#31 in ScInterpreter::ScAnd() at engine/sc/source/core/tool/interpr1.cxx:1289:42 > LibreOffice#32 in ScInterpreter::DispatchOpCode(OpCode) at engine/sc/source/core/tool/interpr4.cxx:3857:35 > LibreOffice#33 in ScInterpreter::Interpret() at engine/sc/source/core/tool/interpr4.cxx:4414:17 > LibreOffice#34 in ScFormulaCell::InterpretTail(ScInterpreterContext&, ScFormulaCell::ScInterpretTailParameter) at engine/sc/source/core/data/formulacell.cxx:2275:23 > LibreOffice#35 in ScFormulaCell::Interpret(int, int) at engine/sc/source/core/data/formulacell.cxx:1917:13 > LibreOffice#36 in ScFormulaCell::MaybeInterpret() at engine/sc/inc/formulacell.hxx:515:17 > LibreOffice#37 in ScFormulaCell::GetErrCode() at engine/sc/source/core/data/formulacell.cxx:3494:5 > LibreOffice#38 in ScCellFormat::GetString(ScRefCellValue const&, unsigned int, Color const**, ScInterpreterContext*, ScDocument const&, bool, bool, bool) at engine/sc/source/core/tool/cellform.cxx:90:59 > LibreOffice#39 in ScColumn::UpdateScriptType(sc::CellTextAttr&, int, mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::iterator_trait>&) at engine/sc/source/core/data/column3.cxx:878:21 > LibreOffice#40 in ScColumn::GetRangeScriptType(mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellTextAttrTraits>::iterator_trait>&, int, int, mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::iterator_trait> const&) at engine/sc/source/core/data/column2.cxx:2359:17 > LibreOffice#41 in (anonymous namespace)::FindEditCellsHandler::operator()(unsigned long, ScFormulaCell const*) at engine/sc/source/core/data/column.cxx:2994:46 > LibreOffice#42 in std::pair<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::const_iterator, unsigned long> sc::CheckElem<mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell, mdds::mtv::delayed_delete_vector>, mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>, (anonymous namespace)::FindEditCellsHandler>(mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits> const&, mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::const_iterator const&, unsigned long, unsigned long, (anonymous namespace)::FindEditCellsHandler&) at engine/sc/inc/mtvfunctions.hxx:159:13 > LibreOffice#43 in std::pair<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::const_iterator, mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::size_type> sc::FindElement2<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject, mdds::mtv::delayed_delete_vector>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell, mdds::mtv::delayed_delete_vector>, (anonymous namespace)::FindEditCellsHandler, (anonymous namespace)::FindEditCellsHandler>(mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits> const&, mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::size_type, mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::size_type, (anonymous namespace)::FindEditCellsHandler&, (anonymous namespace)::FindEditCellsHandler&) at engine/sc/inc/mtvfunctions.hxx:506:37 > LibreOffice#44 in std::pair<mdds::mtv::soa::detail::const_iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::const_iterator_trait, mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::iterator_trait>>, unsigned long> sc::FindFormulaEditText<(anonymous namespace)::FindEditCellsHandler>(mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits> const&, int, int, (anonymous namespace)::FindEditCellsHandler&) at engine/sc/inc/mtvcellfunc.hxx:140:12 > LibreOffice#45 in ScColumn::HasEditCells(int, int, int&) at engine/sc/source/core/data/column.cxx:3340:9 > LibreOffice#46 in ScColumn::GetOptimalHeight(sc::RowHeightContext&, int, int, unsigned short, int) at engine/sc/source/core/data/column2.cxx:950:38 > LibreOffice#47 in (anonymous namespace)::GetOptimalHeightsInColumn(sc::RowHeightContext&, ScColContainer&, int, int, ScProgress*, unsigned long) at engine/sc/source/core/data/table1.cxx:121:20 > LibreOffice#48 in ScTable::SetOptimalHeight(sc::RowHeightContext&, int, int, bool, ScProgress*, unsigned long) at engine/sc/source/core/data/table1.cxx:514:9 > LibreOffice#49 in ScDocRowHeightUpdater::updateAll(bool) at engine/sc/source/core/data/dociter.cxx:1734:33 > LibreOffice#50 in ScDocRowHeightUpdater::update(bool) at engine/sc/source/core/data/dociter.cxx:1662:9 > LibreOffice#51 in ScDocShell::UpdateAllRowHeights(bool) at engine/sc/source/ui/docshell/docsh5.cxx:475:14 > LibreOffice#52 in oox::xls::WorkbookGlobals::finalize() at engine/sc/source/filter/oox/workbookhelper.cxx:660:21 > LibreOffice#53 in oox::xls::WorkbookGlobals::ImplDestroy() at engine/sc/source/filter/oox/workbookhelper.cxx:326:5 > LibreOffice#54 in oox::xls::WorkbookGlobals::~WorkbookGlobals() at engine/sc/source/filter/oox/workbookhelper.cxx:332:35 > LibreOffice#55 in void std::destroy_at<oox::xls::WorkbookGlobals>(oox::xls::WorkbookGlobals*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_construct.h:88:15 > LibreOffice#56 in void std::_Destroy<oox::xls::WorkbookGlobals>(oox::xls::WorkbookGlobals*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_construct.h:164:7 > LibreOffice#57 in void std::allocator_traits<std::allocator<void>>::destroy<oox::xls::WorkbookGlobals>(std::allocator<void>&, oox::xls::WorkbookGlobals*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/alloc_traits.h:875:4 > LibreOffice#58 in std::_Sp_counted_ptr_inplace<oox::xls::WorkbookGlobals, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:650:2 > LibreOffice#59 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:423:8 > LibreOffice#60 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:1101:11 > LibreOffice#61 in std::__shared_ptr<oox::xls::WorkbookGlobals, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:1575:25 > LibreOffice#62 in std::shared_ptr<oox::xls::WorkbookGlobals>::~shared_ptr() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr.h:157:11 > LibreOffice#63 in oox::xls::ExcelFilter::importDocument() at engine/sc/source/filter/oox/excelfilter.cxx:135:5 > LibreOffice#64 in oox::core::FilterBase::filter(cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/oox/source/core/filterbase.cxx:493:49 > LibreOffice#65 in oox::xls::ExcelFilter::filter(cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/sc/source/filter/oox/excelfilter.cxx:185:25 > LibreOffice#66 in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at engine/sfx2/source/doc/objstor.cxx:2574:34 > LibreOffice#67 in ScDocShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) at engine/sc/source/ui/docshell/docsh.cxx:557:28 > LibreOffice#68 in SfxObjectShell::DoLoad(SfxMedium*) at engine/sfx2/source/doc/objstor.cxx:756:23 > #69 in SfxBaseModel::load(cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/sfx2/source/doc/sfxbasemodel.cxx:1995:36 > #70 in (anonymous namespace)::SfxFrameLoader_Impl::load(cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at engine/sfx2/source/view/frmload.cxx:784:28 > #71 in framework::LoadEnv::impl_loadContent() at engine/framework/source/loadenv/loadenv.cxx:1174:37 > #72 in framework::LoadEnv::start() at engine/framework/source/loadenv/loadenv.cxx:410:20 > #73 in framework::LoadEnv::startLoading(rtl::OUString const&, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) at engine/framework/source/loadenv/loadenv.cxx:306:5 > #74 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<cpo::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/framework/source/loadenv/loadenv.cxx:170:14 > #75 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/framework/source/services/desktop.cxx:591:16 > #76 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/framework/source/services/desktop.cxx > #77 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/unotest/source/cpp/macros_test.cxx:73:62 > #78 in UnoApiTest::loadWithParams(rtl::OUString const&, cpo::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at engine/test/source/unoapi_test.cxx:327:19 > #79 in UnoApiTest::loadFromURL(rtl::OUString const&, char const*) at engine/test/source/unoapi_test.cxx:309:5 > #80 in UnoApiTest::loadFromFile(std::basic_string_view<char16_t, std::char_traits<char16_t>>, char const*) at engine/test/source/unoapi_test.cxx:334:5 > #81 in ScModelTestBase::createScDoc(char const*, char const*, bool) at engine/sc/qa/unit/helper/qahelper.cxx:661:9 > #82 in testLetXlsxRoundTrip::TestBody() at engine/sc/qa/unit/functions_let.cxx:23:5 > > 0x7c29283ee55b is located 11 bytes inside of 24-byte region [0x7c29283ee550,0x7c29283ee568) > freed by thread T0 here: > #0 in operator delete(void*, unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:187:3 > LibreOffice#1 in formula::FormulaByteToken::~FormulaByteToken() at engine/include/formula/token.hxx:259:25 > LibreOffice#2 in formula::FormulaToken::Delete() at engine/include/formula/token.hxx:150:51 > LibreOffice#3 in formula::FormulaToken::DecRef() const at engine/include/formula/token.hxx:183:54 > LibreOffice#4 in formula::intrusive_ptr_release(formula::FormulaToken const*) at engine/include/formula/token.hxx:237:8 > LibreOffice#5 in boost::intrusive_ptr<formula::FormulaToken>::~intrusive_ptr() at engine/workdir/UnpackedTarball/boost/boost/smart_ptr/intrusive_ptr.hpp:76:23 > LibreOffice#6 in ScInterpreter::ScCall(boost::intrusive_ptr<formula::FormulaCallable const>, unsigned char) at engine/sc/source/core/tool/interpr1.cxx:10516:1 > LibreOffice#7 in ScInterpreter::ScCall() at engine/sc/source/core/tool/interpr1.cxx:11261:5 > LibreOffice#8 in ScInterpreter::DispatchOpCode(OpCode) at engine/sc/source/core/tool/interpr4.cxx:3863:35 > LibreOffice#9 in ScInterpreter::Interpret() at engine/sc/source/core/tool/interpr4.cxx:4414:17 > LibreOffice#10 in ScInterpreter::ScCall(boost::intrusive_ptr<formula::FormulaCallable const>, std::__debug::vector<boost::intrusive_ptr<formula::FormulaToken const>, std::allocator<boost::intrusive_ptr<formula::FormulaToken const>>> const&) at engine/sc/source/core/tool/interpr1.cxx:11073:46 Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com> Change-Id: Ia96ac43fafe863393ca5fa94f619e3e784ff31b1 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/11994 Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com> Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
After
commit 94442bd94e504b067efd0b992525b53fc660f114
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Aug 5 11:07:25 2025 +0200
tdf#163802 a11y: Fully initialize SpellDialog before showing
, triggering the spell check dialog in Impress
for an empty presentation would result in infinite
recursion e.g. with the gtk3 or gen VCL plugins
on Linux, because the initialization of the
svx::SpellDialogChildWindow triggers a message dialog
asking whether to start spell check from the beginning
(s. frame #252 in below backtrace).
For gtk3 and gen, that dialog triggers processing
of pending events, which triggers an update of the
child windows (s. frame #230), which triggers the logic to
create the spell check child window again (as it isn't
shown yet).
(For qt6, that problem wasn't seen, because synchronously
showing the message dialog doesn't trigger processing
of pending events.)
Fix the problem by detecting cases where a child
window is already in the process of being created,
and return early in that case.
Change SfxWorkWindow::CreateChildWin_Impl to return
a bool result indicating whether the child window
was created or not, and evaluate that in the callers.
Sample backtrace for the gtk3 VCL plugin:
#0 0x00007fffe94490c0 in memcmp@plt () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#1 0x00007fffe955c206 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#2 0x00007fffe955c97f in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#3 0x00007fffe955a4a3 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007fffe94db449 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#5 0x00007fffe6b6e484 in ??? () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#6 0x00007fffe6b716e9 in ??? () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#7 0x00007fffe6b71b6d in gdk_pixbuf_loader_close () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#8 0x00007fffe5be2fe0 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#9 0x00007fffe5be40b1 in gtk_image_set_from_file () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#10 0x00007fffe5be41fd in gtk_image_new_from_file () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007fffe6498cf9 in (anonymous namespace)::image_new_from_xgraphic (rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750, bMirror=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:4973
#12 0x00007fffe6504ec8 in (anonymous namespace)::GtkInstanceToolbar::set_item_image (pItem=0x55555ef42d20, rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750, bMirror=false)
at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:11838
#13 0x00007fffe64ffb31 in (anonymous namespace)::GtkInstanceToolbar::set_item_image (this=0x55555e956af0, rIdent="toggle", rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750)
at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:12214
#14 0x00007ffff4137ba1 in sfx2::sidebar::TabBar::UpdateButtonIcons (this=0x5555597c0230) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/TabBar.cxx:159
#15 0x00007ffff4137634 in sfx2::sidebar::TabBar::SetDecks (this=0x5555597c0230, rDecks=std::__debug::vector of length 8, capacity 8 = {...}) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/TabBar.cxx:148
#16 0x00007ffff40b0f0b in sfx2::sidebar::SidebarController::UpdateConfigurations (this=0x555558960ae0) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarController.cxx:604
#17 0x00007ffff40b0a49 in sfx2::sidebar::SidebarController::notifyContextChangeEvent (this=0x555558960ae0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarController.cxx:371
#18 0x00007ffff4dcba91 in (anonymous namespace)::ContextChangeEventMultiplexer::BroadcastEventToSingleContainer (this=0x5555590d95c0, rEventObject=..., rxEventFocus=uno::Reference to (sd::DrawController *) 0x55555830b5e8)
at /home/michi/development/git/libreoffice/framework/source/services/ContextChangeEventMultiplexer.cxx:252
#19 0x00007ffff4dca942 in (anonymous namespace)::ContextChangeEventMultiplexer::broadcastContextChangeEvent (this=0x5555590d95c0, rEventObject=..., rxEventFocus=uno::Reference to (sd::DrawController *) 0x55555830b5e8)
at /home/michi/development/git/libreoffice/framework/source/services/ContextChangeEventMultiplexer.cxx:235
#20 0x00007ffff2948f8f in ContextChangeEventMultiplexer::NotifyContextChange (rxController=uno::Reference to (sd::DrawController *) 0x55555830b5e8, eContext=vcl::EnumContext::Context::DrawPage)
at /home/michi/development/git/libreoffice/svx/source/sidebar/ContextChangeEventMultiplexer.cxx:51
#21 0x00007ffff295e246 in svx::sidebar::SelectionChangeHandler::selectionChanged (this=0x55555edcd3f0) at /home/michi/development/git/libreoffice/svx/source/sidebar/SelectionChangeHandler.cxx:56
#22 0x00007fff9dc6b3cf in sd::DrawController::FireSelectionChangeListener (this=0x55555830b5c0) at /home/michi/development/git/libreoffice/sd/source/ui/unoidl/DrawController.cxx:396
#23 0x00007fff9dc6b2dc in sd::DrawController::SetSubController (this=0x55555830b5c0, rxSubController=empty uno::Reference) at /home/michi/development/git/libreoffice/sd/source/ui/unoidl/DrawController.cxx:99
#24 0x00007fff9d99a936 in sd::framework::BasicViewFactory::releaseResource (this=0x55555894ad50, rxView=rtl::Reference to 0x55555ef81a80)
at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:219
#25 0x00007fff9d97161c in sd::framework::ConfigurationControllerResourceManager::DeactivateResource (this=0x55555894c0f0, rxResourceId=rtl::Reference to 0x55555edb5110, rxConfiguration=rtl::Reference to 0x55555894eb00)
at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:203
#26 0x00007fff9d971fb4 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0::operator()(rtl::Reference<sd::framework::ResourceId> const&) const (this=0x7ffffffe7950, xResource=rtl::Reference to 0x55555edb5110)
at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:90
#27 0x00007fff9d9712cb in std::for_each<std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0>(std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0) (__first=..., __last=..., __f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algo.h:3798
#28 0x00007fff9d971074 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources
(this=0x55555894c0f0, rResources=std::__debug::vector of length 1, capacity 1 = {...}, rxConfiguration=rtl::Reference to 0x55555894eb00)
at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:86
#29 0x00007fff9d978cae in sd::framework::ConfigurationUpdater::UpdateCore (this=0x55555894dd00, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:250
#30 0x00007fff9d97829c in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x55555894dd00) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161
#31 0x00007fff9d977d1b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x55555894dd00, rxRequestedConfiguration=rtl::Reference to 0x55555894cf50)
at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108
#32 0x00007fff9d94c5b2 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x55555894eba0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:163
#33 0x00007fff9d94c6fe in sd::framework::ChangeRequestQueueProcessor::ProcessUntilEmpty (this=0x55555894eba0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:175
#34 0x00007fff9d95e8ef in sd::framework::ConfigurationController::RequestSynchronousUpdate (this=0x55555894a210) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationController.cxx:167
#35 0x00007fff9d9c69d8 in sd::framework::FrameworkHelper::RequestSynchronousUpdate (this=0x555558959cb0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/tools/FrameworkHelper.cxx:643
#36 0x00007fff9dd53f6c in SdOutliner::SetViewMode (this=0x55555ee0e070, ePageKind=PageKind::Standard) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1652
#37 0x00007fff9dd55071 in SdOutliner::SetObject (this=0x55555ee0e070, rPosition=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1851
#38 0x00007fff9dd4e830 in SdOutliner::EndOfSearch (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1418
#39 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#40 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#41 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#42 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e56afa0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#43 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555eca57c0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#44 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555eca57c0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#45 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555eca57c0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#46 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555edb1bc0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#47 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e56afa0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#48 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#49 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#50 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#51 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#52 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#53 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#54 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#55 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e3c7c40, data=0x555556877340) at include/tools/link.hxx:105
#56 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e3c7c40) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#57 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e3c7c40, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#58 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e86e7e8, data=0x0) at include/tools/link.hxx:105
#59 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e86e7e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#60 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e86e7e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#61 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e86e7e0) at vcl/inc/salframe.hxx:310
#62 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#63 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffffffebc20) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#64 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#65 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#66 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#67 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#70 0x00007fffe652062a in main_loop_run (pLoop=0x55555edb57d0) at vcl/inc/unx/gtk/gtkdata.hxx:59
#71 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555ed86530) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#72 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555ed863d0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#73 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#74 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#75 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#76 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#77 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#78 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555eaeead0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#79 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555eb6ef60, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#80 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555eb6ef60, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#81 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555eb6ef60) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#82 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x5555599c5060) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#83 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555eaeead0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#84 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#85 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#86 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#87 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#88 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#89 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#90 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#91 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e38cad0, data=0x555556877340) at include/tools/link.hxx:105
#92 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e38cad0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#93 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e38cad0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#94 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e780b88, data=0x0) at include/tools/link.hxx:105
#95 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e780b80) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#96 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e780b80) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#97 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e780b80) at vcl/inc/salframe.hxx:310
#98 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#99 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffffffee430) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#100 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#101 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#102 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#103 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#104 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#105 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#106 0x00007fffe652062a in main_loop_run (pLoop=0x55555eb90ac0) at vcl/inc/unx/gtk/gtkdata.hxx:59
#107 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555eb76cc0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#108 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555eb76b60) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#109 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#110 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#111 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#112 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#113 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#114 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e92cf20) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#115 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e7bc0e0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#116 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e7bc0e0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#117 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e7bc0e0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#118 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e75e580) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#119 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e92cf20) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#120 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#121 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#122 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#123 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#124 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#125 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#126 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#127 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555a823ba0, data=0x555556877340) at include/tools/link.hxx:105
#128 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555a823ba0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#129 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555a823ba0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#130 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e6ff308, data=0x0) at include/tools/link.hxx:105
#131 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e6ff300) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#132 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e6ff300) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#133 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e6ff300) at vcl/inc/salframe.hxx:310
#134 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#135 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff0c40) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#136 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#137 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#138 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#139 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#140 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#141 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#142 0x00007fffe652062a in main_loop_run (pLoop=0x55555e92fb70) at vcl/inc/unx/gtk/gtkdata.hxx:59
#143 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e950a20) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#144 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e9508c0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#145 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#146 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#147 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#148 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#149 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#150 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e8f0390) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#151 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e9c6ac0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#152 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e9c6ac0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#153 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e9c6ac0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#154 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e319180) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#155 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e8f0390) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#156 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#157 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#158 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#159 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#160 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#161 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#162 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#163 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e3f61c0, data=0x555556877340) at include/tools/link.hxx:105
#164 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e3f61c0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#165 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e3f61c0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#166 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e58c6e8, data=0x0) at include/tools/link.hxx:105
#167 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e58c6e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#168 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e58c6e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#169 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e58c6e0) at vcl/inc/salframe.hxx:310
#170 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#171 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff3450) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#172 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#173 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#174 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#175 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#176 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#177 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#178 0x00007fffe652062a in main_loop_run (pLoop=0x55555e8ec500) at vcl/inc/unx/gtk/gtkdata.hxx:59
#179 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e867400) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#180 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e8672a0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#181 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#182 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#183 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#184 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#185 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#186 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e7623d0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#187 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e4fc700, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#188 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e4fc700, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#189 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e4fc700) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#190 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x555558f1e9c0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#191 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e7623d0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#192 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#193 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#194 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#195 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#196 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#197 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#198 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#199 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e45d520, data=0x555556877340) at include/tools/link.hxx:105
#200 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e45d520) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#201 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e45d520, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#202 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x555559999828, data=0x0) at include/tools/link.hxx:105
#203 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x555559999820) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#204 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x555559999820) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#205 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x555559999820) at vcl/inc/salframe.hxx:310
#206 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#207 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff5c60) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#208 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#209 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#210 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#211 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#212 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#213 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#214 0x00007fffe652062a in main_loop_run (pLoop=0x55555e75b650) at vcl/inc/unx/gtk/gtkdata.hxx:59
#215 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e6e17e0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#216 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e6e1680) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#217 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#218 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#219 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#220 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#221 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#222 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x555558b3fbc0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#223 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e586600, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#224 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e586600, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#225 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e586600) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#226 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e52b360) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#227 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x555558b3fbc0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#228 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#229 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#230 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299
#231 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247
#232 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
#233 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124
#234 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681
#235 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e50f300, data=0x555556877340) at include/tools/link.hxx:105
#236 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e50f300) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66
#237 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e50f300, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58
#238 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x555559c0e478, data=0x0) at include/tools/link.hxx:105
#239 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x555559c0e470) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#240 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x555559c0e470) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#241 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x555559c0e470) at vcl/inc/salframe.hxx:310
#242 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#243 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff8470) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#244 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#245 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#246 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#247 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#248 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#249 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#250 0x00007fffe652062a in main_loop_run (pLoop=0x55555e56d830) at vcl/inc/unx/gtk/gtkdata.hxx:59
#251 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x555558b52070) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768
#252 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x555558b51f10) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190
#253 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526
#254 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432
#255 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399
#256 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393
#257 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436
#258 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e44ba10) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72
#259 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e445f10, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050
#260 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e445f10, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402
#261 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e445f10) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432
#262 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e3212b0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452
#263 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e44ba10) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49
#264 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244
#265 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
#266 0x00007ffff3b3e0f3 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x7fff980287c0, nId=10243, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835
#267 0x00007ffff42110c9 in SfxViewFrame::ToggleChildWindow (this=0x555556819530, nId=10243) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3703
#268 0x00007fff9de38d3c in sd::DrawViewShell::Execute (this=0x555556b4b610, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews7.cxx:1976
#269 0x00007fff9de64075 in SfxStubDrawViewShellExecute (pShell=0x555556b4b610, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1575
#270 0x00007ffff3ba6bfe in SfxDispatcher::Call_Impl (this=0x555556877340, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
#271 0x00007ffff3bab4a6 in SfxDispatcher::Execute_ (this=0x555556877340, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755
#272 0x00007ffff3b9302e in SfxBindings::Execute_Impl (this=0x555556a7ef20, aReq=..., pSlot=0x7fff9df8d038 <aDrawViewShellSlots_Impl+10728>, pShell=0x555556b4b610)
at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1045
#273 0x00007ffff3c720cd in SfxDispatchController_Impl::dispatch (this=0x55555915d2e0, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736
#274 0x00007ffff3c70b84 in SfxOfficeDispatch::dispatch (this=0x55555915cfa0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255
#275 0x00007ffff09d3792 in svt::(anonymous namespace)::AsyncAccelExec::impl_ts_asyncCallback (this=0x55555e321fc0) at /home/michi/development/git/libreoffice/svtools/source/misc/acceleratorexecute.cxx:509
#276 0x00007ffff09d34cd in svt::(anonymous namespace)::AsyncAccelExec::LinkStubimpl_ts_asyncCallback (instance=0x55555e321fc0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/misc/acceleratorexecute.cxx:501
#277 0x00007fffee18f511 in Link<LinkParamNone*, void>::Call (this=0x55555e322060, data=0x0) at include/tools/link.hxx:105
#278 0x00007fffeea21eea in vcl::EventPoster::DoEvent_Impl (this=0x55555e322058) at /home/michi/development/git/libreoffice/vcl/source/helper/evntpost.cxx:52
#279 0x00007fffeea21e9d in vcl::EventPoster::LinkStubDoEvent_Impl (instance=0x55555e322058, data=0x0) at /home/michi/development/git/libreoffice/vcl/source/helper/evntpost.cxx:48
#280 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e3148c8, data=0x0) at include/tools/link.hxx:105
#281 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e3148c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
#282 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e3148c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869
#283 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e3148c0) at vcl/inc/salframe.hxx:310
#284 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#285 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb850) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#286 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#287 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#288 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
#289 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#290 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#291 0x00007fffe9d06d20 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#292 0x00007fffe64785dc in GtkSalData::Yield (this=0x5555555b3760, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:403
#293 0x00007fffe647d613 in GtkInstance::DoYield (this=0x5555555b3610, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:440
#294 0x00007fffeeafec46 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
#295 0x00007fffeeafe55f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:492
#296 0x00007fffeeafe340 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
#297 0x00007ffff7b21d05 in desktop::Desktop::Main (this=0x7fffffffd590) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1682
#298 0x00007fffeeb2b356 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
#299 0x00007fffeeb2ce79 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
#300 0x00007ffff7b9ba3a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
#301 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#302 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd798) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49
Change-Id: Ic2e12a1ef163bb4ece04d631c92cc926bcbd0d5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191950
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
for soffice --headless --convert-to pdf tdf103059-2.odt
==2656459==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c994604b938 at pc 0x7b2929cd73cd bp 0x7ffc818cc110 sp 0x7ffc818cc108
READ of size 8 at 0x7c994604b938 thread T0
#0 0x7b2929cd73cc in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3220
LibreOffice#1 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
LibreOffice#2 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
LibreOffice#3 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
LibreOffice#4 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
LibreOffice#5 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
LibreOffice#6 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
LibreOffice#7 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
LibreOffice#8 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
LibreOffice#9 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
LibreOffice#10 0x7b2929756a65 in SwContentFrame::ShouldBwdMoved(SwLayoutFrame*, bool&) core-asan/sw/source/core/layout/calcmove.cxx:199
LibreOffice#11 0x7b292979f8bd in SwFlowFrame::MoveBwd(bool&) core-asan/sw/source/core/layout/flowfrm.cxx:2669
LibreOffice#12 0x7b2929761592 in SwContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1654
LibreOffice#13 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
LibreOffice#14 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
LibreOffice#15 0x7b29298c2bd0 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:688
LibreOffice#16 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
LibreOffice#17 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
LibreOffice#18 0x7b29298c33a4 in SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:774
LibreOffice#19 0x7b29297c06dd in SwFlyAtContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flycnt.cxx:440
LibreOffice#20 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
LibreOffice#21 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
LibreOffice#22 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
LibreOffice#23 0x7b292984693b in SwLayAction::FormatLayoutFly(SwFlyFrame*) core-asan/sw/source/core/layout/layact.cxx:1553
LibreOffice#24 0x7b29298ba5f3 in SwObjectFormatter::FormatObj_(SwAnchoredObject&) core-asan/sw/source/core/layout/objectformatter.cxx:287
LibreOffice#25 0x7b29298c05fb in SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject&, bool) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:132
LibreOffice#26 0x7b29298ba207 in SwObjectFormatter::FormatObj(SwAnchoredObject&, SwFrame*, SwPageFrame const*, SwLayAction*) core-asan/sw/source/core/layout/objectformatter.cxx:191
LibreOffice#27 0x7b29297b0cc5 in CalcContent(SwLayoutFrame*, bool) core-asan/sw/source/core/layout/fly.cxx:1852
LibreOffice#28 0x7b2929a2c3f0 in SwLayoutFrame::FormatWidthCols(SwBorderAttrs const&, long, long) core-asan/sw/source/core/layout/wsfrm.cxx:4024
LibreOffice#29 0x7b292998a2b2 in SwSectionFrame::Format(OutputDevice*, SwBorderAttrs const*) core-asan/sw/source/core/layout/sectfrm.cxx:1563
LibreOffice#30 0x7b292975d1b7 in SwLayoutFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1073
LibreOffice#31 0x7b292998618a in SwSectionFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/sectfrm.cxx:932
LibreOffice#32 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
LibreOffice#33 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
LibreOffice#34 0x7b2929844913 in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1315
LibreOffice#35 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
LibreOffice#36 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
LibreOffice#37 0x7b292983f951 in SwLayAction::InternalAction(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:629
LibreOffice#38 0x7b292983d4b7 in SwLayAction::Action(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:404
LibreOffice#39 0x7b292a7e2aad in SwViewShell::CalcLayout() core-asan/sw/source/core/view/viewsh.cxx:1248
LibreOffice#40 0x7b2929504fd1 in SwEditShell::CalcLayout() core-asan/sw/source/core/edit/edws.cxx:89
LibreOffice#41 0x7b292b84944f in SwXTextDocument::getRendererCount(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) core-asan/sw/source/uibase/uno/unotxdoc.cxx:2766
LibreOffice#42 0x7b2918f8118b in PDFExport::Export(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x16a18b) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
LibreOffice#43 0x7b2918fb7781 in PDFFilter::implExport(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a0781) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
LibreOffice#44 0x7b2918fb8c26 in PDFFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a1c26) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
LibreOffice#45 0x7f2966849fa0 in SfxObjectShell::ExportTo(SfxMedium&) (core-asan/instdir/program/libsfxlo.so+0x2649fa0) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#46 0x7f296683c239 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) (core-asan/instdir/program/libsfxlo.so+0x263c239) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#47 0x7f2966851353 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x2651353) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#48 0x7f296684e6e2 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x264e6e2) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#49 0x7f29667f24ab in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t> >, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x25f24ab) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#50 0x7f29669353f9 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) (core-asan/instdir/program/libsfxlo.so+0x27353f9) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#51 0x7f29669237ad in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x27237ad) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
LibreOffice#52 0x7f296e59ea3d in desktop::DispatchWatcher::executeDispatchRequests(std::__debug::vector<desktop::DispatchWatcher::DispatchRequest, std::allocator<desktop::DispatchWatcher::DispatchRequest> > const&, bool, desktop::DispatchRequestFlags*) (core-asan/instdir/program/libsofficeapp.so+0x39ea3d) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
LibreOffice#53 0x7f296e5d9fae in desktop::RequestHandler::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest&, bool) (core-asan/instdir/program/libsofficeapp.so+0x3d9fae) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
LibreOffice#54 0x7f296e503193 in desktop::Desktop::OpenClients() (core-asan/instdir/program/libsofficeapp.so+0x303193) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
LibreOffice#55 0x7f296e50005c in desktop::Desktop::OpenClients_Impl(void*) (core-asan/instdir/program/libsofficeapp.so+0x30005c) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
LibreOffice#56 0x7f296e4ffc16 in desktop::Desktop::LinkStubOpenClients_Impl(void*, void*) (core-asan/instdir/program/libsofficeapp.so+0x2ffc16) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
LibreOffice#57 0x7f29552e3410 in Link<void*, void>::Call(void*) const (core-asan/instdir/program/libvcllo.so+0x42e3410) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#58 0x7f29552db964 in ImplHandleUserEvent(ImplSVEvent*) (core-asan/instdir/program/libvcllo.so+0x42db964) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#59 0x7f29552e0e3b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (core-asan/instdir/program/libvcllo.so+0x42e0e3b) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#60 0x7f2956b44430 in SalFrame::CallCallback(SalEvent, void const*) const (core-asan/instdir/program/libvcllo.so+0x5b44430) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#61 0x7f2956b8d114 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (core-asan/instdir/program/libvcllo.so+0x5b8d114) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#62 0x7f2955efea9f in SalUserEventList::DispatchUserEvents(bool)::{lambda()LibreOffice#1}::operator()() const (core-asan/instdir/program/libvcllo.so+0x4efea9f) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#63 0x7f2955eff104 in SalUserEventList::DispatchUserEvents(bool) (core-asan/instdir/program/libvcllo.so+0x4eff104) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#64 0x7f2956b8e540 in SvpSalInstance::ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8e540) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#65 0x7f2956b8edd2 in SvpSalInstance::DoYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8edd2) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#66 0x7f2956096112 in ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5096112) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#67 0x7f2956097f83 in Application::Yield() (core-asan/instdir/program/libvcllo.so+0x5097f83) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
LibreOffice#68 0x7f29560953b0 in Application::Execute() (core-asan/instdir/program/libvcllo.so+0x50953b0) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
#69 0x7f296e4fc9e9 in desktop::Desktop::Main() (core-asan/instdir/program/libsofficeapp.so+0x2fc9e9) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
#70 0x7f29560eb3c7 in ImplSVMain() (core-asan/instdir/program/libvcllo.so+0x50eb3c7) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
#71 0x7f29560eb590 in SVMain() (core-asan/instdir/program/libvcllo.so+0x50eb590) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
#72 0x7f296e5ee383 in soffice_main (core-asan/instdir/program/libsofficeapp.so+0x3ee383) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
#73 0x000000201cc6 in sal_main (core-asan/instdir/program/soffice.bin+0x201cc6) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
#74 0x000000201cac in main (core-asan/instdir/program/soffice.bin+0x201cac) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
#75 0x7f296e011574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
#76 0x7f296e011627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
#77 0x000000201b64 in _start (core-asan/instdir/program/soffice.bin+0x201b64) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
0x7c994604b938 is located 56 bytes inside of 696-byte region [0x7c994604b900,0x7c994604bbb8)
freed by thread T0 here:
#0 0x7f296eae899b in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xe899b) (BuildId: 0adabddcb77130fc2ea3840d060eb4e8a9ae0c85)
LibreOffice#1 0x7b2929df5401 in std::__new_allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/new_allocator.h:172
LibreOffice#2 0x7b2929df4edb in std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/allocator.h:215
LibreOffice#3 0x7b2929df4edb in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:649
LibreOffice#4 0x7b2929df4edb in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() /usr/include/c++/15/bits/allocated_ptr.h:74
LibreOffice#5 0x7b2929df5647 in std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/include/c++/15/bits/shared_ptr_base.h:625
LibreOffice#6 0x7b29283b09bd in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/15/bits/shared_ptr_base.h:346
LibreOffice#7 0x7b29283b4dd1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/15/bits/shared_ptr_base.h:1069
LibreOffice#8 0x7b2929c05619 in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/15/bits/shared_ptr_base.h:1531
LibreOffice#9 0x7b2929df424e in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::reset() /usr/include/c++/15/bits/shared_ptr_base.h:1649
LibreOffice#10 0x7b2929df3f4f in SwTextFrame::ClearPara() core-asan/sw/source/core/text/txtcache.cxx:41
LibreOffice#11 0x7b2929e2d129 in SwTextFrame::Init() core-asan/sw/source/core/text/txtfrm.cxx:754
LibreOffice#12 0x7b2929e45d75 in SwTextFrame::Prepare(PrepareHint, void const*, bool) core-asan/sw/source/core/text/txtfrm.cxx:3358
LibreOffice#13 0x7b29297e0987 in SwFlyInContentFrame::NotifyBackground(SwPageFrame*, SwRect const&, PrepareHint) core-asan/sw/source/core/layout/flyincnt.cxx:230
LibreOffice#14 0x7b2929805046 in Notify(SwFlyFrame*, SwPageFrame*, SwRect const&, SwRect const*) core-asan/sw/source/core/layout/frmtool.cxx:3301
LibreOffice#15 0x7b29297f0a5a in SwFlyNotify::ImplDestroy() core-asan/sw/source/core/layout/frmtool.cxx:696
LibreOffice#16 0x7b29297f1083 in SwFlyNotify::~SwFlyNotify() core-asan/sw/source/core/layout/frmtool.cxx:798
LibreOffice#17 0x7b29297e11f0 in SwFlyInContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flyincnt.cxx:316
LibreOffice#18 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
LibreOffice#19 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
LibreOffice#20 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
LibreOffice#21 0x7b29297e09cf in SwFlyInContentFrame::GetRelPos() const core-asan/sw/source/core/layout/flyincnt.cxx:235
LibreOffice#22 0x7b2929cd7309 in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3213
LibreOffice#23 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
LibreOffice#24 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
LibreOffice#25 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
LibreOffice#26 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
LibreOffice#27 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
LibreOffice#28 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
LibreOffice#29 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
LibreOffice#30 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
LibreOffice#31 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
Change-Id: I291348ddbaaf0e9e8255e2fca5842dc2d2bfe733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196426
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
As is the case in other weld methods, signals about
ComboBox changes are not supposed to be
emitted when the change happens programatically
and not by manual user interaction.
Therefore, disable notify events in ComboBox::insert
by renaming the actual toolkit implementations to
do_insert and making the weld::ComboBox::insert
base class method block signals while calling
the virtual methods.
See also e.g. weld::TreeView::insert which
uses the same approach.
The GTK implementation was already blocking signals
because it calls GtkInstanceComboBox::insert_including_mru
which in turn blocks signals during insertion.
This fixes a nullptr deref seen with the qt6 VCL
plugin and env var SAL_VCL_QT_USE_WELDED_WIDGETS=1
in a WIP branch to declare support for native widgets
in the dialog triggered as follows:
* start Writer
* "Insert" -> "Chart"
* right-click on the X axes to open the context menu
* activate the "Format Axis" context menu entry
Backtrace:
Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault.
0x00007ffff2525a54 in SvxNumberFormatShell::LanguageChanged (this=0x0, eLangType=..., rFmtSelPos=@0x7fffffff79ee: 0, rFmtEntries=std::__debug::vector of length 0, capacity 0)
at /home/michi/development/git/libreoffice/svx/source/items/numfmtsh.cxx:190
190 eCurLanguage = eLangType;
(gdb) bt
#0 0x00007ffff2525a54 in SvxNumberFormatShell::LanguageChanged (this=0x0, eLangType=..., rFmtSelPos=@0x7fffffff79ee: 0, rFmtEntries=std::__debug::vector of length 0, capacity 0)
at /home/michi/development/git/libreoffice/svx/source/items/numfmtsh.cxx:190
LibreOffice#1 0x00007fff8a6c5bfc in SvxNumberFormatTabPage::UpdateFormatListBox_Impl (this=0x5555606d5ea0, bCat=false, bUpdateEdit=true) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:990
LibreOffice#2 0x00007fff8a6caa4a in SvxNumberFormatTabPage::SelFormatHdl_Impl (this=0x5555606d5ea0, pLb=0x555560788f98) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1240
LibreOffice#3 0x00007fff8a6cab98 in SvxNumberFormatTabPage::SelFormatListBoxHdl_Impl (this=0x5555606d5ea0, rLb=...) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1131
LibreOffice#4 0x00007fff8a6c43bd in SvxNumberFormatTabPage::LinkStubSelFormatListBoxHdl_Impl (instance=0x5555606d5ea0, data=...) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1129
LibreOffice#5 0x00007ffff115bb01 in Link<weld::ComboBox&, void>::Call (this=0x555560788f18, data=...) at include/tools/link.hxx:105
LibreOffice#6 0x00007ffff114e85b in SvxLanguageBox::ChangeHdl (this=0x555560788f10, rControl=...) at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:534
LibreOffice#7 0x00007ffff114e51d in SvxLanguageBox::LinkStubChangeHdl (instance=0x555560788f10, data=...) at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:464
LibreOffice#8 0x00007fffe58a4371 in Link<weld::ComboBox&, void>::Call (this=0x555560789150, data=...) at include/tools/link.hxx:105
LibreOffice#9 0x00007fffe58a3f88 in weld::ComboBox::signal_changed (this=0x555560789108) at include/vcl/weld/ComboBox.hxx:63
LibreOffice#10 0x00007fffe58988dd in QtInstanceComboBox::signalChanged (this=0x555560788f60) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:432
LibreOffice#11 0x00007fffe58a4791 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7fffffff7e10) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#12 0x00007fffe58a46c9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()LibreOffice#1}&&) (args=0x7fffffff81f0, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
LibreOffice#13 0x00007fffe58a45fb in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)
(f=(void (QtInstanceComboBox::*)(QtInstanceComboBox * const)) 0x7fffe58988a0 <QtInstanceComboBox::signalChanged()>, o=0x555560788f60, arg=0x7fffffff81f0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
LibreOffice#14 0x00007fffe58a457d in QtPrivate::FunctionPointer<void (QtInstanceComboBox::*)()>::call<QtPrivate::List<>, void>(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)
(f=(void (QtInstanceComboBox::*)(QtInstanceComboBox * const)) 0x7fffe58988a0 <QtInstanceComboBox::signalChanged()>, o=0x555560788f60, arg=0x7fffffff81f0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
LibreOffice#15 0x00007fffe58a44a6 in QtPrivate::QCallableObject<void (QtInstanceComboBox::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x5555607893d0, r=0x555560788f60, a=0x7fffffff81f0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
LibreOffice#16 0x00007fffe46ea402 in QtPrivate::QSlotObjectBase::call (this=0x5555607893d0, r=0x555560788f60, a=0x7fffffff81f0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
LibreOffice#17 0x00007fffe491b872 in doActivate<false> (sender=0x55556077ac40, signal_index=13, argv=0x7fffffff81f0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4371
LibreOffice#18 0x00007fffe4911c63 in QMetaObject::activate (sender=0x55556077ac40, m=0x7fffe33803b8 <QComboBox::staticMetaObject>, local_signal_index=6, argv=0x7fffffff81f0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4431
LibreOffice#19 0x00007fffe28859eb in QMetaObject::activate<void, QString> (sender=0x55556077ac40, mo=0x7fffe33803b8 <QComboBox::staticMetaObject>, local_signal_index=6, ret=0x0, args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:321
LibreOffice#20 0x00007fffe2a40f41 in QComboBox::currentTextChanged (this=0x55556077ac40, _t1=...) at qtbase/src/widgets/Widgets_autogen/include/moc_qcombobox.cpp:376
LibreOffice#21 0x00007fffe2a3e3ad in QComboBoxPrivate::updateCurrentText (this=0x55556077c400, text=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:3210
LibreOffice#22 0x00007fffe2a3e68e in QComboBoxPrivate::emitCurrentIndexChanged (this=0x55556077c400, index=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:1695
LibreOffice#23 0x00007fffe2a3973b in QComboBoxPrivate::setCurrentIndex (this=0x55556077c400, mi=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2480
LibreOffice#24 0x00007fffe2a38b6a in QComboBox::setCurrentIndex (this=0x55556077ac40, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2427
LibreOffice#25 0x00007fffe2a3e550 in QComboBoxPrivate::rowsInserted (this=0x55556077c400, parent=..., start=0, end=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:1399
LibreOffice#26 0x00007fffe2a57482 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7fffffff85c0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#27 0x00007fffe2a573dd in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()LibreOffice#1}&&) (args=0x7fffffff89c0, fn=...)
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
LibreOffice#28 0x00007fffe2a57397 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call
(f=(void (QComboBoxPrivate::*)(QComboBoxPrivate * const, const QModelIndex &, int, int)) 0x7fffe2a3e3c0 <QComboBoxPrivate::rowsInserted(QModelIndex const&, int, int)>, o=0x55556077c400, arg=0x7fffffff89c0)
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
LibreOffice#29 0x00007fffe2a57301 in QtPrivate::FunctionPointer<void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call<QtPrivate::List<QModelIndex const&, int, int>, void>
(f=(void (QComboBoxPrivate::*)(QComboBoxPrivate * const, const QModelIndex &, int, int)) 0x7fffe2a3e3c0 <QComboBoxPrivate::rowsInserted(QModelIndex const&, int, int)>, o=0x55556077c400, arg=0x7fffffff89c0)
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
LibreOffice#30 0x00007fffe2a57230 in QtPrivate::QPrivateSlotObject<void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QtPrivate::List<QModelIndex const&, int, int>, void>::impl
(which=1, this_=0x55556077cd80, r=0x55556077ac40, a=0x7fffffff89c0, ret=0x0) at qtbase/src/corelib/kernel/qobject_p.h:272
LibreOffice#31 0x00007fffe46ea402 in QtPrivate::QSlotObjectBase::call (this=0x55556077cd80, r=0x55556077ac40, a=0x7fffffff89c0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
LibreOffice#32 0x00007fffe491b872 in doActivate<false> (sender=0x555560766e90, signal_index=13, argv=0x7fffffff89c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4371
LibreOffice#33 0x00007fffe4911c63 in QMetaObject::activate (sender=0x555560766e90, m=0x7fffe527bdf0 <QAbstractItemModel::staticMetaObject>, local_signal_index=10, argv=0x7fffffff89c0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4431
LibreOffice#34 0x00007fffe4d77bf5 in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal>
(sender=0x555560766e90, mo=0x7fffe527bdf0 <QAbstractItemModel::staticMetaObject>, local_signal_index=10, ret=0x0, args=..., args=@0x7fffffff8a30: 0, args=@0x7fffffff8a2c: 0, args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:321
LibreOffice#35 0x00007fffe4d6b8ca in QAbstractItemModel::rowsInserted (this=0x555560766e90, _t1=..., _t2=0, _t3=0, _t4=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:690
LibreOffice#36 0x00007fffe4d6b846 in QAbstractItemModel::endInsertRows (this=0x555560766e90) at /home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:2922
LibreOffice#37 0x00007fffe3c56a98 in QStandardItemModelPrivate::rowsInserted (this=0x555560775680, parent=0x55556077c9b0, row=0, count=1) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:625
LibreOffice#38 0x00007fffe3c56d93 in QStandardItemPrivate::insertRows (this=0x55556077c010, row=0, count=1, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:497
LibreOffice#39 0x00007fffe3c58bdd in QStandardItem::insertRow (this=0x55556077c9b0, row=0, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1601
LibreOffice#40 0x00007fffe3c5aa3f in QStandardItemModel::insertRow (this=0x555560766e90, row=0, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:2680
LibreOffice#41 0x00007fffe2a4b5ea in QStandardItemModel::insertRow (this=0x555560766e90, arow=0, aitem=0x55556078ad80) at qtbase/src/gui/itemmodels/qstandarditemmodel.h:401
LibreOffice#42 0x00007fffe2a419f7 in QComboBox::insertItem (this=0x55556077ac40, index=0, icon=..., text=..., userData=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2593
LibreOffice#43 0x00007fffe57c1ea7 in QComboBox::insertItem (this=0x55556077ac40, aindex=0, atext=..., auserData=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.h:228
LibreOffice#44 0x00007fffe589ccd3 in QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0::operator()() const (this=0x55556078b1a0) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:45
LibreOffice#45 0x00007fffe589cba5 in std::__invoke_impl<void, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&>(std::__invoke_other, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&) (__f=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
LibreOffice#46 0x00007fffe589cb65 in std::__invoke_r<void, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&>(QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&) (__fn=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
LibreOffice#47 0x00007fffe589ca4d in std::_Function_handler<void(), QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0>::_M_invoke (__functor=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
LibreOffice#48 0x00007fffe584803e in std::function<void()>::operator() (this=0x7fffffff9210) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
LibreOffice#49 0x00007fffe583f17f in QtInstance::RunInMainThread (this=0x5555555f8540, func=...) at vcl/qt6/../qt5/QtInstance.cxx:206
LibreOffice#50 0x00007fffe5898fcf in QtInstanceComboBox::insert (this=0x555560788f60, nPos=0, rStr="Default - English (UK)", pId=0x7fffffff9558, pIconName=0x0, pImageSurface=0x0) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:37
LibreOffice#51 0x00007ffff115d8fb in weld::ComboBox::insert (this=0x555560789108, pos=-1, rItem=...) at include/vcl/weld/ComboBox.hxx:89
LibreOffice#52 0x00007ffff115af02 in weld::ComboBox::append (this=0x555560789108, rItem=...) at include/vcl/weld/ComboBox.hxx:96
LibreOffice#53 0x00007ffff114d012 in SvxLanguageBox::SetLanguageList
(this=0x555560788f10, nLangList=(SvxLanguageListFlags::ALL | SvxLanguageListFlags::ONLY_KNOWN), bHasLangNone=false, bLangNoneIsLangAll=false, bCheckSpellAvail=false, bDefaultLangExist=true, eDefaultLangType=..., nDefaultType=4)
at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:323
LibreOffice#54 0x00007fff8a6c405e in SvxNumberFormatTabPage::Init_Impl (this=0x5555606d5ea0) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:318
LibreOffice#55 0x00007fff8a6c2e3d in SvxNumberFormatTabPage::SvxNumberFormatTabPage
(this=0x5555606d5ea0, pPage=0x555560718098, pController=0x55555a7234c0, rCoreAttrs=SfxItemSet of pool 0x55555b593c40 with parent 0x0 and Which ranges: [(17, 18), (40, 70), (1000, 1012), (4021, 4079), (10085, 10085), (10932, 10932), (11090, 11090)] = {...}) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:247
LibreOffice#56 0x00007fff8a6cc2ee in std::make_unique<SvxNumberFormatTabPage, weld::Container*&, weld::DialogController*&, SfxItemSet const&>
(__args=@0x7fffffffa160: 0x555560718098, __args=@0x7fffffffa158: 0x55555a7234c0, __args=SfxItemSet of pool 0x55555b593c40 with parent 0x0 and Which ranges: [(17, 18), (40, 70), (1000, 1012), (4021, 4079), (10085, 10085), (10932, 10932), (11090, 11090)] = {...}) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:1084
LibreOffice#57 0x00007fff8a6c46d9 in SvxNumberFormatTabPage::Create (pPage=0x555560718098, pController=0x55555a7234c0, rAttrSet=0x55555b5c41f0) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:326
LibreOffice#58 0x00007ffff399ed1d in SfxTabDialogController::CreatePages (this=0x55555a7234c0) at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:946
LibreOffice#59 0x00007ffff399fd19 in SfxTabDialogController::Start_Impl (this=0x55555a7234c0) at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:1034
LibreOffice#60 0x00007ffff39a011e in SfxTabDialogController::runAsync (rController=std::shared_ptr<SfxTabDialogController> (use count 3, weak count 1) = {...}, rFunc=...)
at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:1091
LibreOffice#61 0x00007fff8b0da287 in chart::ChartController::executeDlg_ObjectProperties_withUndoGuard
(this=0x55555c98cd40, xUndoGuard=std::shared_ptr<chart::UndoGuard> (empty) = {...}, rObjectCID="CID/D=0:CS=0:Axis=0,0", bSuccessOnUnchanged=false)
at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:778
LibreOffice#62 0x00007fff8b0d94fc in chart::ChartController::executeDlg_ObjectProperties (this=0x55555c98cd40, rSelectedObjectCID="CID/D=0:CS=0:Axis=0,0")
at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:695
LibreOffice#63 0x00007fff8b0d7368 in chart::ChartController::executeDispatch_FormatObject (this=0x55555c98cd40, rDispatchCommand=u"FormatAxis")
at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:651
LibreOffice#64 0x00007fff8b0a72a3 in chart::ChartController::dispatch (this=0x55555c98cd40, rURL=..., rArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController.cxx:1226
LibreOffice#65 0x00007fff8b1512fc in chart::ControllerCommandDispatch::dispatch (this=0x55555b6ae620, URL=..., Arguments=empty uno::Sequence)
at /home/michi/development/git/libreoffice/chart2/source/controller/main/ControllerCommandDispatch.cxx:933
LibreOffice#66 0x00007ffff4b03874 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x55555b573710) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:793
LibreOffice#67 0x00007fffedc46db1 in Link<void*, void>::Call (this=0x55555b574058, data=0x55555b573710) at include/tools/link.hxx:105
LibreOffice#68 0x00007fffedc426d1 in ImplHandleUserEvent (pSVEvent=0x55555b574050) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
#69 0x00007fffedc3f5ff in ImplWindowFrameProc (_pWindow=0x555556d919d0, nEvent=SalEvent::UserEvent, pEvent=0x55555b574050) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
#70 0x00007fffe582034c in SalFrame::CallCallback (this=0x555556949a50, nEvent=SalEvent::UserEvent, pEvent=0x55555b574050) at vcl/inc/salframe.hxx:310
#71 0x00007fffe58421df in QtInstance::ProcessEvent (this=0x5555555f8540, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:600
#72 0x00007fffee22366d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb990) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#73 0x00007fffee22353b in SalUserEventList::DispatchUserEvents (this=0x5555555f85b0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#74 0x00007fffe583e921 in QtInstance::ImplYield (this=0x5555555f8540, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:496
#75 0x00007fffe5841da1 in QtInstance::DoYield (this=0x5555555f8540, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:518
#76 0x00007fffee2ee966 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
#77 0x00007fffee2ee1ef in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
#78 0x00007fffee2edfd0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
#79 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd540) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
#80 0x00007fffee3179d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
#81 0x00007fffee3194f9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
#82 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
#83 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#84 0x0000555555555a07 in main (argc=2, argv=0x7fffffffd748) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49
Change-Id: I5ecf1c0e0f60b5f215bb21894e98f93ce4516e07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197468
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
... and position for each document"
The changes to LoadEnv in
commit 8ce2cf3
Date: Mon May 12 01:29:55 2025 +0700
tdf#41777 Add window size and position for each document
to create new frames when loading existing documents from
the start center and close the backing window cause
crashes for the tdf#170399 scenario of starting the template manager
from the start center and then editing a template by selecting
the "Edit" entry from its context menu.
Revert the changes to that class for now, to fix the crashes.
In a quick test with the gen VCL plugin, this causes documents
opened from the start center to no longer be restored in the
position that they were in previously, while opening documents
directly (i.e. not from start center) still results in them
getting restored at the previous location. (Tested with two
different documents that were saved and closed in different
locations on the screen and both were restored at their
original location.)
This partially reverts commit 8ce2cf3.
Backtrace for the gen VCL plugin without this commit in place:
warn:legacy.osl:835647:835647:vcl/source/window/window.cxx:307: Window ( 14VclDrawingArea()) with live SystemWindows destroyed: 18MenuFloatingWindow()
Window ( 14VclDrawingArea()) with live SystemWindows destroyed: 18MenuFloatingWindow()
Thread 1 "soffice.bin" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
⚠ warning: 44 ./nptl/pthread_kill.c: No such file or directory
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
LibreOffice#1 0x00007ffff769749f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
LibreOffice#2 0x00007ffff7640942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
LibreOffice#3 0x00007ffff76284ac in __GI_abort () at ./stdlib/abort.c:77
LibreOffice#4 0x00007fffee2339db in SalAbort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed: 18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403
LibreOffice#5 0x00007fffee2ff4b1 in Application::Abort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed: 18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300
LibreOffice#6 0x00007fffedc25c54 in vcl::Window::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308
LibreOffice#7 0x00007fffedc9e1c6 in Control::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:62
LibreOffice#8 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557305890) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#9 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe72d0) at include/vcl/vclptr.hxx:208
LibreOffice#10 0x00007ffff0069f57 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557168d30) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:250
LibreOffice#11 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557168d30) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#12 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557168d80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#13 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe8798) at include/vcl/vclptr.hxx:208
LibreOffice#14 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577d6d80) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#15 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555573c4dd0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#16 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#17 0x00007fffedafd800 in VclScrolledWindow::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1926
LibreOffice#18 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555573c4e48) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#19 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe9eb8) at include/vcl/vclptr.hxx:208
LibreOffice#20 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x55555788b020) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#21 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557722300) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#22 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557722300) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#23 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557722350) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#24 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeb5b8) at include/vcl/vclptr.hxx:208
LibreOffice#25 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577a9df0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#26 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x55555772fe50) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#27 0x00007fffedc24eca in vcl::Window::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#28 0x00007fffedafb566 in VclFrame::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1493
LibreOffice#29 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x55555772fea8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#30 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeccd8) at include/vcl/vclptr.hxx:208
LibreOffice#31 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c1ac0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#32 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555572db4d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#33 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555572db4d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#34 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555572db520) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#35 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffee3d8) at include/vcl/vclptr.hxx:208
LibreOffice#36 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c5650) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#37 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555576ebfe0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#38 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555576ebfe0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#39 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555576ec030) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#40 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffefad8) at include/vcl/vclptr.hxx:208
LibreOffice#41 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c8d10) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#42 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557806110) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#43 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#44 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
LibreOffice#45 0x00007fffeda8e38c in Dialog::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:632
LibreOffice#46 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555578061f0) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#47 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff1338) at include/vcl/vclptr.hxx:208
LibreOffice#48 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x555557897d70) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#49 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555578924d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
LibreOffice#50 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#51 0x00007fffed9c1dc4 in ImplBorderWindow::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1615
LibreOffice#52 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557892530) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#53 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff2b68) at include/vcl/vclptr.hxx:208
LibreOffice#54 0x00007ffff006a6a7 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555556ef0dc0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:308
LibreOffice#55 0x00007fffedc24eca in vcl::Window::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
LibreOffice#56 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
LibreOffice#57 0x00007fffedc596c1 in WorkWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:127
LibreOffice#58 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555556ef0e80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
LibreOffice#59 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff40e8) at include/vcl/vclptr.hxx:208
LibreOffice#60 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555570cde30) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
LibreOffice#61 0x00007ffff49f5fd9 in (anonymous namespace)::XFrameImpl::disposing (this=0x555556dd1610) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2184
LibreOffice#62 0x00007ffff573a1f0 in cppu::WeakComponentImplHelperBase::dispose (this=0x555556dd1610) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
LibreOffice#63 0x00007ffff4a02ba5 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose (this=0x555556dd1610) at include/cppuhelper/compbase.hxx:90
LibreOffice#64 0x00007ffff49fb4d5 in (anonymous namespace)::XFrameImpl::close (this=0x555556dd1610, bDeliverOwnership=0 '\000') at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1731
LibreOffice#65 0x00007ffff4829850 in framework::pattern::frame::closeIt (xResource=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x555556dd1680) at framework/source/inc/pattern/frame.hxx:57
LibreOffice#66 0x00007ffff49b92fd in framework::LoadEnv::impl_reactForLoadingState (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1655
LibreOffice#67 0x00007ffff49b8cf6 in framework::LoadEnv::impl_setResult (this=0x7fffffff57b8, bResult=true) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:537
LibreOffice#68 0x00007ffff49b8b31 in framework::LoadEnv::impl_loadContent (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1184
#69 0x00007ffff49b5c85 in framework::LoadEnv::start (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:417
#70 0x00007ffff49b3982 in framework::LoadEnv::startLoading
(this=0x7fffffff57b8, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", lMediaDescriptor=uno::Sequence of length 3 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555568ac098, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::WorkWithUI) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:313
#71 0x00007ffff49b2282 in framework::LoadEnv::loadComponentFromURL
(xLoader=uno::Reference to (framework::Desktop *) 0x5555568ac0a8, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55555559d808, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:169
#72 0x00007ffff49e45d2 in framework::Desktop::loadComponentFromURL
(this=0x5555568ac030, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:594
#73 0x00007ffff49e4734 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
#74 0x00007ffff3c6ef72 in SfxTemplateManagerDlg::EditTemplateHdl (this=0x7fffffffa218, rTemplatePath="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:715
#75 0x00007ffff3c67eed in SfxTemplateManagerDlg::LinkStubEditTemplateHdl (instance=0x7fffffffa218, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:704
#76 0x00007ffff36af081 in Link<rtl::OUString const&, void>::Call (this=0x7fffffffa520, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
at include/tools/link.hxx:105
#77 0x00007ffff382c9ab in TemplateDlgLocalView::ContextMenuSelectHdl (this=0x7fffffffa320, rIdent=u"edit") at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:154
#78 0x00007ffff382c66a in TemplateDlgLocalView::createContextMenu (this=0x7fffffffa320, bIsDefault=false, bIsBuiltIn=true, bIsSingleSel=true, rDefaultImg="res/odt_16_8.png")
at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:140
#79 0x00007ffff3c6e710 in SfxTemplateManagerDlg::CreateContextMenuHdl (this=0x7fffffffa218, pItem=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:680
#80 0x00007ffff3c67e5d in SfxTemplateManagerDlg::LinkStubCreateContextMenuHdl (instance=0x7fffffffa218, data=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:649
#81 0x00007ffff381bce1 in Link<TemplateViewItem*, void>::Call (this=0x7fffffffa4e0, data=0x55555788ca90) at include/tools/link.hxx:105
#82 0x00007ffff3816e34 in TemplateLocalView::Command (this=0x7fffffffa320, rCEvt=...) at /home/michi/development/git/libreoffice/sfx2/source/control/templatelocalview.cxx:718
#83 0x00007fffee228e11 in weld::CustomWeld::DoCommand (this=0x55555779d480, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:102
#84 0x00007fffee228b1d in weld::CustomWeld::LinkStubDoCommand (instance=0x55555779d480, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:100
#85 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x555557703ef0, data=...) at include/tools/link.hxx:105
#86 0x00007fffee2813f1 in weld::Widget::signal_command (this=0x555557703ee0, rCEvt=...) at include/vcl/weld/weld.hxx:109
#87 0x00007fffee247e74 in SalInstanceWidget::CommandHdl (this=0x555557703eb0, rEvent=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:819
#88 0x00007fffee244ccd in SalInstanceWidget::LinkStubCommandHdl (instance=0x555557703eb0, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:817
#89 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x5555577f1080, data=...) at include/tools/link.hxx:105
#90 0x00007fffedc2f524 in vcl::Window::Command (this=0x5555573055d0, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1933
#91 0x00007fffedc4df45 in ImplCallCommand (pChild=..., nEvt=CommandEventId::ContextMenu, pData=0x0, bMouse=true, pPos=0x7fffffff7950) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:258
#92 0x00007fffedc4d68c in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONDOWN, bMouseLeave=false, nX=125, nY=130, nMsgTime=71004093, nCode=4, nMode=MouseEventModifiers::NONE)
at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:827
#93 0x00007fffedc51581 in ImplHandleSalMouseButtonDown (pWindow=0x5555578924d0, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2367
#94 0x00007fffedc501f1 in ImplWindowFrameProc (_pWindow=0x5555578924d0, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2705
#95 0x00007fffe6215dcc in SalFrame::CallCallback (this=0x555557805e30, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at vcl/inc/salframe.hxx:310
#96 0x00007fffe62be199 in X11SalFrame::HandleMouseEvent (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:2575
#97 0x00007fffe62c1e97 in X11SalFrame::Dispatch (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:3642
#98 0x00007fffe6231f7b in SalX11Display::Dispatch (this=0x555556884440, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1966
#99 0x00007fffe6231802 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1865
#100 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
#101 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
#102 0x00007fffe6222261 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:751
#103 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
#104 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
#105 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
#106 0x00007fffeda927db in Dialog::Execute (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:1079
#107 0x00007fffee2505ee in SalInstanceDialog::run (this=0x5555575f5100) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:1859
#108 0x00007fffee6b4c6e in weld::DialogController::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/vcl/source/weld/DialogController.cxx:16
#109 0x00007ffff3c68a94 in SfxTemplateManagerDlg::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:262
#110 0x00007ffff36578af in SfxApplication::NewDocExec_Impl (this=0x555556dbccf0, rReq=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/appopen.cxx:473
#111 0x00007ffff3650dd5 in SfxStubSfxApplicationNewDocExec_Impl (pShell=0x555556dbccf0, rReq=...) at workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1310
#112 0x00007ffff37aa26e in SfxDispatcher::Call_Impl (this=0x555556979a30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
#113 0x00007ffff37b0156 in SfxDispatcher::PostMsgHandler (this=0x555556979a30, pReq=std::unique_ptr<SfxRequest> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:997
#114 0x00007ffff3ca5458 in SfxHintPoster::DoEvent_Impl (this=0x555556db3930, pPostedHint=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:74
#115 0x00007ffff3ca539d in SfxHintPoster::LinkStubDoEvent_Impl (instance=0x555556db3930, data=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:54
#116 0x00007fffedc583f1 in Link<void*, void>::Call (this=0x5555577cabb8, data=0x5555576ed980) at include/tools/link.hxx:105
#117 0x00007fffedc53d11 in ImplHandleUserEvent (pSVEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
#118 0x00007fffedc50c3f in ImplWindowFrameProc (_pWindow=0x555556db2f40, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
#119 0x00007fffee830cbc in SalFrame::CallCallback (this=0x555556b048a0, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at vcl/inc/salframe.hxx:310
#120 0x00007fffee85721f in SalGenericDisplay::ProcessEvent (this=0x555556884440, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
#121 0x00007fffee234c9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb390) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#122 0x00007fffee234b6b in SalUserEventList::DispatchUserEvents (this=0x555556884440, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#123 0x00007fffee857175 in SalGenericDisplay::DispatchInternalEvent (this=0x555556884440, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
#124 0x00007fffe6231784 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1856
#125 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
#126 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
#127 0x00007fffe6221bc9 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:655
#128 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
#129 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
#130 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
#131 0x00007fffee2ff970 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
#132 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd550) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
#133 0x00007fffee329376 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
#134 0x00007fffee32ae99 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
#135 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
#136 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#137 0x0000555555555a07 in main (argc=1, argv=0x7fffffffd758) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49
Change-Id: I06da3836405b46671785824fbcee8db863048685
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197637
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
As has been done almost everywhere else already, switch
from defining (skeleton) tab pages in the .ui file for the
database "Advanced Settings" dialog and adding the actual
content only later.
Instead, completely have the logic to add them (including
the tab label to use) in C++ code, as is done elsewhere.
This prevents the situation where trying to remove
the tab page that was defined in the UI file but
isn't known to the SfxTabDialogController yet
would result in an assert getting triggered when using
the qt6 VCL plugin with SAL_VCL_QT_USE_WELDED_WIDGETS=1
when triggering the dialog for a case where the
"Generated Values" tab page isn't meant to be shown.
Seen with upcoming commit
Change-Id: I2eab17ed0aff12aa3c650f35c8a1b7d737091842
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Mar 9 21:00:01 2026 +0100
tdf#130857 qt weld: Support DB "Advanced Settings" dialog
(See the commit message of that commit for more details,
but don't apply the extra local change mentioned in there
so that the "Generated Values" tab page will not be added.)
Backtrace how the
assert(!m_pImpl->aData.empty() && "no Pages registered");
at the beginning of SfxTabDialogController::DeactivatePage
would be triggered otherwise:
Thread 1 received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
⚠ warning: 44 ./nptl/pthread_kill.c: No such file or directory
(rr) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
LibreOffice#1 0x00007f0bdc8a147f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
LibreOffice#2 0x00007f0bdc84a942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
LibreOffice#3 0x00007f0bdc8324ac in __GI_abort () at ./stdlib/abort.c:77
LibreOffice#4 0x00007f0bdc832420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=0x7f0bd847b283 "bool SfxTabDialogController::DeactivatePage(std::u16string_view)")
at ./assert/assert.c:118
LibreOffice#5 0x00007f0bd8bc655d in SfxTabDialogController::DeactivatePage (this=0x55f6d18af070, aPage=u"generated") at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:372
LibreOffice#6 0x00007f0bd8bc64aa in SfxTabDialogController::DeactivatePageHdl (this=0x55f6d18af070, rPage="generated") at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:358
LibreOffice#7 0x00007f0bd8bc474d in SfxTabDialogController::LinkStubDeactivatePageHdl (instance=0x55f6d18af070, data="generated") at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:356
LibreOffice#8 0x00007f0bca4f6ee6 in Link<rtl::OUString const&, bool>::Call (this=0x55f6d18aebd8, data="generated") at include/tools/link.hxx:105
LibreOffice#9 0x00007f0bca4f135e in QtInstanceNotebook::currentTabChanged (this=0x55f6d18ae9e0) at vcl/qt6/../qt5/QtInstanceNotebook.cxx:191
LibreOffice#10 0x00007f0bca4f7a91 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceNotebook::*)()>::call(void (QtInstanceNotebook::*)(), QtInstanceNotebook*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffecd74f740) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#11 0x00007f0bca4f79c9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceNotebook::*)()>::call(void (QtInstanceNotebook::*)(), QtInstanceNotebook*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceNotebook::*)()>::call(void (QtInstanceNotebook::*)(), QtInstanceNotebook*, void**)::{lambda()LibreOffice#1}&&) (args=0x7ffecd74fb20, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#12 0x00007f0bca4f78fb in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceNotebook::*)()>::call(void (QtInstanceNotebook::*)(), QtInstanceNotebook*, void**)
(f=(void (QtInstanceNotebook::*)(class QtInstanceNotebook * const)) 0x7f0bca4f1300 <QtInstanceNotebook::currentTabChanged()>, o=0x55f6d18ae9e0, arg=0x7ffecd74fb20)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#13 0x00007f0bca4f787d in QtPrivate::FunctionPointer<void (QtInstanceNotebook::*)()>::call<QtPrivate::List<>, void>(void (QtInstanceNotebook::*)(), QtInstanceNotebook*, void**)
(f=(void (QtInstanceNotebook::*)(class QtInstanceNotebook * const)) 0x7f0bca4f1300 <QtInstanceNotebook::currentTabChanged()>, o=0x55f6d18ae9e0, arg=0x7ffecd74fb20)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#14 0x00007f0bca4f77a6 in QtPrivate::QCallableObject<void (QtInstanceNotebook::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x55f6d1899530, r=0x55f6d18ae9e0, a=0x7ffecd74fb20, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:546
LibreOffice#15 0x00007f0bc92e95f2 in QtPrivate::QSlotObjectBase::call (this=0x55f6d1899530, r=0x55f6d18ae9e0, a=0x7ffecd74fb20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#16 0x00007f0bc951c112 in doActivate<false> (sender=0x55f6d1e562e0, signal_index=7, argv=0x7ffecd74fb20) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4372
LibreOffice#17 0x00007f0bc95124b3 in QMetaObject::activate (sender=0x55f6d1e562e0, m=0x7f0bc7f7bcb0 <QTabWidget::staticMetaObject>, local_signal_index=0, argv=0x7ffecd74fb20)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4432
LibreOffice#18 0x00007f0bc73a69fb in QMetaObject::activate<void, int> (sender=0x55f6d1e562e0, mo=0x7f0bc7f7bcb0 <QTabWidget::staticMetaObject>, local_signal_index=0, ret=0x0, args=@0x7ffecd74fb64: 0) at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#19 0x00007f0bc77fde78 in QTabWidget::currentChanged (this=0x55f6d1e562e0, _t1=0) at qtbase/src/widgets/Widgets_autogen/include/moc_qtabwidget.cpp:263
LibreOffice#20 0x00007f0bc77fdc4b in QTabWidgetPrivate::showTab (this=0x55f6d1889c50, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qtabwidget.cpp:761
LibreOffice#21 0x00007f0bc780118a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffecd74fc30) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#22 0x00007f0bc7800ffd in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}&&) (args=0x7ffecd750030, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#23 0x00007f0bc7800f87 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call
(f=(void (QTabWidgetPrivate::*)(class QTabWidgetPrivate * const, int)) 0x7f0bc77fdbe0 <QTabWidgetPrivate::showTab(int)>, o=0x55f6d1889c50, arg=0x7ffecd750030) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#24 0x00007f0bc7800ef1 in QtPrivate::FunctionPointer<void (QTabWidgetPrivate::*)(int)>::call<QtPrivate::List<int>, void>
(f=(void (QTabWidgetPrivate::*)(class QTabWidgetPrivate * const, int)) 0x7f0bc77fdbe0 <QTabWidgetPrivate::showTab(int)>, o=0x55f6d1889c50, arg=0x7ffecd750030) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#25 0x00007f0bc7800e20 in QtPrivate::QPrivateSlotObject<void (QTabWidgetPrivate::*)(int), QtPrivate::List<int>, void>::impl (which=1, this_=0x55f6d1d6ecb0, r=0x55f6d1e562e0, a=0x7ffecd750030, ret=0x0)
at qtbase/src/corelib/kernel/qobject_p.h:273
LibreOffice#26 0x00007f0bc92e95f2 in QtPrivate::QSlotObjectBase::call (this=0x55f6d1d6ecb0, r=0x55f6d1e562e0, a=0x7ffecd750030) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#27 0x00007f0bc951c112 in doActivate<false> (sender=0x55f6d0aa9aa0, signal_index=7, argv=0x7ffecd750030) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4372
LibreOffice#28 0x00007f0bc95124b3 in QMetaObject::activate (sender=0x55f6d0aa9aa0, m=0x7f0bc7f7a098 <QTabBar::staticMetaObject>, local_signal_index=0, argv=0x7ffecd750030)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4432
LibreOffice#29 0x00007f0bc73a69fb in QMetaObject::activate<void, int> (sender=0x55f6d0aa9aa0, mo=0x7f0bc7f7a098 <QTabBar::staticMetaObject>, local_signal_index=0, ret=0x0, args=@0x7ffecd750074: 0) at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#30 0x00007f0bc77c3308 in QTabBar::currentChanged (this=0x55f6d0aa9aa0, _t1=0) at qtbase/src/widgets/Widgets_autogen/include/moc_qtabbar.cpp:269
LibreOffice#31 0x00007f0bc77c27af in QTabBar::setCurrentIndex (this=0x55f6d0aa9aa0, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qtabbar.cpp:1469
LibreOffice#32 0x00007f0bc77c2f07 in QTabBar::removeTab (this=0x55f6d0aa9aa0, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qtabbar.cpp:1096
LibreOffice#33 0x00007f0bc77fc3ea in QTabWidgetPrivate::removeTab (this=0x55f6d1889c50, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qtabwidget.cpp:767
LibreOffice#34 0x00007f0bc780118a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffecd7502b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#35 0x00007f0bc7800ffd in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call(void (QTabWidgetPrivate::*)(int), QTabWidgetPrivate*, void**)::{lambda()LibreOffice#1}&&) (args=0x7ffecd7506b0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#36 0x00007f0bc7800f87 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QTabWidgetPrivate::*)(int)>::call
(f=(void (QTabWidgetPrivate::*)(class QTabWidgetPrivate * const, int)) 0x7f0bc77fc3b0 <QTabWidgetPrivate::removeTab(int)>, o=0x55f6d1889c50, arg=0x7ffecd7506b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#37 0x00007f0bc7800ef1 in QtPrivate::FunctionPointer<void (QTabWidgetPrivate::*)(int)>::call<QtPrivate::List<int>, void>
(f=(void (QTabWidgetPrivate::*)(class QTabWidgetPrivate * const, int)) 0x7f0bc77fc3b0 <QTabWidgetPrivate::removeTab(int)>, o=0x55f6d1889c50, arg=0x7ffecd7506b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#38 0x00007f0bc7800e20 in QtPrivate::QPrivateSlotObject<void (QTabWidgetPrivate::*)(int), QtPrivate::List<int>, void>::impl (which=1, this_=0x55f6d1d73e10, r=0x55f6d1e562e0, a=0x7ffecd7506b0, ret=0x0)
at qtbase/src/corelib/kernel/qobject_p.h:273
LibreOffice#39 0x00007f0bc92e95f2 in QtPrivate::QSlotObjectBase::call (this=0x55f6d1d73e10, r=0x55f6d1e562e0, a=0x7ffecd7506b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#40 0x00007f0bc951c112 in doActivate<false> (sender=0x55f6d1e56310, signal_index=8, argv=0x7ffecd7506b0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4372
LibreOffice#41 0x00007f0bc95124b3 in QMetaObject::activate (sender=0x55f6d1e56310, m=0x7f0bc7f796e0 <QStackedWidget::staticMetaObject>, local_signal_index=1, argv=0x7ffecd7506b0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4432
LibreOffice#42 0x00007f0bc73a69fb in QMetaObject::activate<void, int> (sender=0x55f6d1e56310, mo=0x7f0bc7f796e0 <QStackedWidget::staticMetaObject>, local_signal_index=1, ret=0x0, args=@0x7ffecd7506f4: 0)
at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#43 0x00007f0bc77b6c5d in QStackedWidget::widgetRemoved (this=0x55f6d1e56310, _t1=0) at qtbase/src/widgets/Widgets_autogen/include/moc_qstackedwidget.cpp:194
LibreOffice#44 0x00007f0bc77b7dda in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QStackedWidget::*)(int)>::call(void (QStackedWidget::*)(int), QStackedWidget*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffecd750780) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#45 0x00007f0bc77b7ced in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QStackedWidget::*)(int)>::call(void (QStackedWidget::*)(int), QStackedWidget*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QStackedWidget::*)(int)>::call(void (QStackedWidget::*)(int), QStackedWidget*, void**)::{lambda()LibreOffice#1}&&) (args=0x7ffecd750b70, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#46 0x00007f0bc77b7c07 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QStackedWidget::*)(int)>::call
(f=(void (QStackedWidget::*)(class QStackedWidget * const, int)) 0x7f0bc77b6c20 <QStackedWidget::widgetRemoved(int)>, o=0x55f6d1e56310, arg=0x7ffecd750b70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#47 0x00007f0bc77b7b71 in QtPrivate::FunctionPointer<void (QStackedWidget::*)(int)>::call<QtPrivate::List<int>, void>
(f=(void (QStackedWidget::*)(class QStackedWidget * const, int)) 0x7f0bc77b6c20 <QStackedWidget::widgetRemoved(int)>, o=0x55f6d1e56310, arg=0x7ffecd750b70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#48 0x00007f0bc77b7a9b in QtPrivate::QCallableObject<void (QStackedWidget::*)(int), QtPrivate::List<int>, void>::impl (which=1, this_=0x55f6d18a6a70, r=0x55f6d1e56310, a=0x7ffecd750b70, ret=0x0)
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:546
LibreOffice#49 0x00007f0bc92e95f2 in QtPrivate::QSlotObjectBase::call (this=0x55f6d18a6a70, r=0x55f6d1e56310, a=0x7ffecd750b70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#50 0x00007f0bc951c112 in doActivate<false> (sender=0x55f6d1d94df0, signal_index=3, argv=0x7ffecd750b70) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4372
LibreOffice#51 0x00007f0bc95124b3 in QMetaObject::activate (sender=0x55f6d1d94df0, m=0x7f0bc7f64618 <QStackedLayout::staticMetaObject>, local_signal_index=0, argv=0x7ffecd750b70)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4432
LibreOffice#52 0x00007f0bc73a69fb in QMetaObject::activate<void, int> (sender=0x55f6d1d94df0, mo=0x7f0bc7f64618 <QStackedLayout::staticMetaObject>, local_signal_index=0, ret=0x0, args=@0x7ffecd750bb4: 0)
at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#53 0x00007f0bc7445098 in QStackedLayout::widgetRemoved (this=0x55f6d1d94df0, _t1=0) at qtbase/src/widgets/Widgets_autogen/include/moc_qstackedlayout.cpp:185
LibreOffice#54 0x00007f0bc7444faf in QStackedLayout::takeAt (this=0x55f6d1d94df0, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qstackedlayout.cpp:261
LibreOffice#55 0x00007f0bc743414c in QLayout::removeWidget (this=0x55f6d1d94df0, widget=0x55f6cfb71cb0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qlayout.cpp:1479
LibreOffice#56 0x00007f0bc77b6e8d in QStackedWidget::removeWidget (this=0x55f6d1e56310, widget=0x55f6cfb71cb0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qstackedwidget.cpp:177
LibreOffice#57 0x00007f0bc77fda72 in QTabWidget::removeTab (this=0x55f6d1e562e0, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qtabwidget.cpp:632
LibreOffice#58 0x00007f0bca4f4a63 in QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0::operator()() const (this=0x7ffecd750e60) at vcl/qt6/../qt5/QtInstanceNotebook.cxx:104
LibreOffice#59 0x00007f0bca4f4a25 in std::__invoke_impl<void, QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0&>(std::__invoke_other, QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
LibreOffice#60 0x00007f0bca4f49d5 in std::__invoke_r<void, QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0&>(QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
LibreOffice#61 0x00007f0bca4f48ed in std::_Function_handler<void(), QtInstanceNotebook::remove_page(rtl::OUString const&)::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
LibreOffice#62 0x00007f0bca44a4de in std::function<void()>::operator() (this=0x7ffecd750e60) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
LibreOffice#63 0x00007f0bca44102f in QtInstance::RunInMainThread (this=0x55f6ce948eb0, func=...) at vcl/qt6/../qt5/QtInstance.cxx:209
LibreOffice#64 0x00007f0bca4f24fa in QtInstanceNotebook::remove_page (this=0x55f6d18ae9e0, rIdent="generated") at vcl/qt6/../qt5/QtInstanceNotebook.cxx:104
LibreOffice#65 0x00007f0bd8bc99ad in SfxTabDialogController::RemoveTabPage (this=0x55f6d18af070, rId="generated") at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:827
LibreOffice#66 0x00007f0b8f42863d in dbaui::AdvancedSettingsDialog::AdvancedSettingsDialog
(this=0x55f6d18af070, pParent=0x55f6d158ae20, _pItems=0x55f6d15af940, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55f6ce92c458, _aDataSourceName=uno::Any("string": "file:///home/michi/Documents/New%20Database90.odb")) at /home/michi/development/git/libreoffice/dbaccess/source/ui/dlg/advancedsettings.cxx:381
LibreOffice#67 0x00007f0b8f6da456 in std::make_unique<dbaui::AdvancedSettingsDialog, weld::Window*, SfxItemSet*, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>&, com::sun::star::uno::Any&>
(__args=@0x7ffecd751248: 0x55f6d158ae20, __args=@0x7ffecd751240: 0x55f6d15af940, __args=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55f6ce92c458, __args=uno::Any("string": "file:///home/michi/Documents/New%20Database90.odb")) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:1084
LibreOffice#68 0x00007f0b8f6d9e1f in dbaui::(anonymous namespace)::OAdvancedSettingsDialog::createDialog (this=0x55f6d15971d0, rParent=uno::Reference to (VCLXTopWindow *) 0x55f6d01bc780)
at /home/michi/development/git/libreoffice/dbaccess/source/ui/uno/AdvancedSettingsDlg.cxx:103
#69 0x00007f0bd586da5e in svt::OGenericUnoDialog::impl_ensureDialog_lck (this=0x55f6d15971d0) at /home/michi/development/git/libreoffice/svtools/source/uno/genericunodialog.cxx:169
#70 0x00007f0bd586dcec in svt::OGenericUnoDialog::execute (this=0x55f6d15971d0) at /home/michi/development/git/libreoffice/svtools/source/uno/genericunodialog.cxx:200
#71 0x00007f0b8f23e1a9 in dbaui::OApplicationController::openDialog (this=0x55f6d01db510, _sServiceName="com.sun.star.sdb.AdvancedDatabaseSettingsDialog")
at /home/michi/development/git/libreoffice/dbaccess/source/ui/app/AppControllerGen.cxx:205
#72 0x00007f0b8f1ea90a in dbaui::OApplicationController::Execute (this=0x55f6d01db510, _nId=12256, aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/dbaccess/source/ui/app/AppController.cxx:1294
#73 0x00007f0b8f3363a3 in dbaui::OGenericUnoController::executeChecked (this=0x55f6d01db510, _rCommand=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/dbaccess/source/ui/browser/genericcontroller.cxx:974
#74 0x00007f0b8f3331da in dbaui::OGenericUnoController::dispatch (this=0x55f6d01db510, _aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/dbaccess/source/ui/browser/genericcontroller.cxx:586
#75 0x00007f0bd9d06c74 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x55f6d1e5cae0) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:793
#76 0x00007f0bd2d7b301 in Link<void*, void>::Call (this=0x55f6d1e5bba8, data=0x55f6d1e5cae0) at include/tools/link.hxx:105
#77 0x00007f0bd2d76c21 in ImplHandleUserEvent (pSVEvent=0x55f6d1e5bba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
#78 0x00007f0bd2d73b4f in ImplWindowFrameProc (_pWindow=0x55f6cfb62b50, nEvent=SalEvent::UserEvent, pEvent=0x55f6d1e5bba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
#79 0x00007f0bca42228c in SalFrame::CallCallback (this=0x55f6cfc41890, nEvent=SalEvent::UserEvent, pEvent=0x55f6d1e5bba0) at vcl/inc/salframe.hxx:310
#80 0x00007f0bca4441cf in QtInstance::ProcessEvent (this=0x55f6ce948eb0, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:614
#81 0x00007f0bd3350b9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffecd752cd0) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
#82 0x00007f0bd3350a6b in SalUserEventList::DispatchUserEvents (this=0x55f6ce948f18, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
#83 0x00007f0bca4407d1 in QtInstance::ImplYield (this=0x55f6ce948eb0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:510
#84 0x00007f0bca443d91 in QtInstance::DoYield (this=0x55f6ce948eb0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:532
#85 0x00007f0bd3419006 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:390
#86 0x00007f0bd341888f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:503
#87 0x00007f0bd3418670 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:365
#88 0x00007f0bdcb22c05 in desktop::Desktop::Main (this=0x7ffecd754880) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680
#89 0x00007f0bd3441d56 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231
#90 0x00007f0bd3443889 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249
#91 0x00007f0bdcb9cc6a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
#92 0x000055f6b5a4b9fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#93 0x000055f6b5a4b9d7 in main (argc=2, argv=0x7ffecd754a88) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49
Change-Id: I3dc605a965589abf4dbcdf289460aa31507df30a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201362
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
Don't first create a Bitmap, write that to a stream
and then load the QPixmap from that stream, but
directly get the stream and load the QPixmap from it.
This should not only be more efficient, but not
trying to create the intermediate Bitmap object also avoids
triggering an infinite recursion when done (too)
early on startup, which was seen when using
loadQPixmapIcon in QtFrame::SetIcon.
(getPixbuf in the gtk vcl plugin implementation
in vcl/unx/gtk3/gtkinst.cxx also does similarly.)
Sample local change to trigger the infinite recursion
previously:
diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
index 6d0c0ac..b646fd7694dd 100644
--- a/vcl/qt5/QtFrame.cxx
+++ b/vcl/qt5/QtFrame.cxx
@@ -344,6 +344,8 @@ void QtFrame::SetIcon(sal_uInt16 nIcon)
|| !isWindow())
return;
+ loadQPixmapIcon(u"res/writer128.png"_ustr);
+
const QString sAppIcon = toQString(IconHelper::GetAppIconName(nIcon));
QIcon aIcon = QIcon::fromTheme(sAppIcon);
m_pQWidget->window()->setWindowIcon(aIcon);
Then, starting e.g. Writer would previosuly trigger an
infinite recursion. Partial backtrace:
Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007f1c8790834f in QObject::event (this=0x5593589a5a80, e=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1452
1452 switch (e->type()) {
(rr) bt 100
#0 0x00007f1c8790834f in QObject::event (this=0x5593589a5a80, e=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1452
LibreOffice#1 0x00007f1c85872cbd in QWidget::event (this=0x5593589a5a80, event=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:9467
LibreOffice#2 0x00007f1c85af8b85 in QMainWindow::event (this=0x5593589a5a80, event=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qmainwindow.cpp:1272
LibreOffice#3 0x00007f1c857b1a20 in QApplicationPrivate::notify_helper (this=0x559356428970, receiver=0x5593589a5a80, e=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3276
LibreOffice#4 0x00007f1c857b58fb in QApplication::notify (this=0x5593563ce910, receiver=0x5593589a5a80, e=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3222
LibreOffice#5 0x00007f1c87838739 in QCoreApplication::notifyInternal2 (receiver=0x5593589a5a80, event=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1113
LibreOffice#6 0x00007f1c878393a9 in QCoreApplication::sendEvent (receiver=0x5593589a5a80, event=0x7ffe98d56258) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1553
LibreOffice#7 0x00007f1c85854857 in QWidget::setParent (this=0x5593589a5cb0, parent=0x5593589a5a80, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:10901
LibreOffice#8 0x00007f1c858746e9 in QWidget::setParent (this=0x5593589a5cb0, parent=0x5593589a5a80) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:10742
LibreOffice#9 0x00007f1c8583080f in QLayout::addChildWidget (this=0x5593589a75a0, w=0x5593589a5cb0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qlayout.cpp:856
LibreOffice#10 0x00007f1c85b0a1b0 in QMainWindowLayout::setCentralWidget (this=0x5593589a75a0, widget=0x5593589a5cb0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qmainwindowlayout.cpp:2860
LibreOffice#11 0x00007f1c85af7299 in QMainWindow::setCentralWidget (this=0x5593589a5a80, widget=0x5593589a5cb0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qmainwindow.cpp:555
LibreOffice#12 0x00007f1c8880d74b in QtFrame::QtFrame (this=0x5593589a6e80, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON, bUseCairo=true) at vcl/qt6/../qt5/QtFrame.cxx:143
LibreOffice#13 0x00007f1c8884480d in QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0::operator()() const (this=0x5593589a6e60) at vcl/qt6/../qt5/QtInstance.cxx:396
LibreOffice#14 0x00007f1c88844785 in std::__invoke_impl<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(std::__invoke_other, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
LibreOffice#15 0x00007f1c88844745 in std::__invoke_r<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
LibreOffice#16 0x00007f1c8884462d in std::_Function_handler<void(), QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
LibreOffice#17 0x00007f1c8884674e in std::function<void()>::operator() (this=0x7ffe98d567e8) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
LibreOffice#18 0x00007f1c8883d46f in QtInstance::RunInMainThread (this=0x559356428580, func=...) at vcl/qt6/../qt5/QtInstance.cxx:210
LibreOffice#19 0x00007f1c8883f91b in QtInstance::CreateFrame (this=0x559356428580, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON) at vcl/qt6/../qt5/QtInstance.cxx:395
LibreOffice#20 0x00007f1c911468d6 in vcl::Window::ImplInit (this=0x5593589a6620, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1059
LibreOffice#21 0x00007f1c90ee2de7 in ImplBorderWindow::ImplInit (this=0x5593589a6620, pParent=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame, pSystemParentData=0x0)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1568
LibreOffice#22 0x00007f1c90ee3368 in ImplBorderWindow::ImplBorderWindow (this=0x5593589a6620, pParent=0x0, pSystemParentData=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1597
LibreOffice#23 0x00007f1c9117cb19 in VclPtrInstance<ImplBorderWindow>::VclPtrInstance<vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&>
(this=0x7ffe98d56da0, arg=@0x7ffe98d56dc0: 0x0, arg=@0x7ffe98d56db0: 0x0, arg=@0x7ffe98d56db8: 274877906944, arg=@0x7ffe98d56dac: BorderWindowStyle::Frame) at include/vcl/vclptr.hxx:274
LibreOffice#24 0x00007f1c9117b405 in WorkWindow::ImplInit (this=0x5593589a5d30, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:51
LibreOffice#25 0x00007f1c9117bc67 in WorkWindow::WorkWindow (this=0x5593589a5d30, pParent=0x0, nStyle=274877906944) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:95
LibreOffice#26 0x00007f1c9182e653 in VclPtr<WorkWindow>::Create<decltype(nullptr), long const&>(decltype(nullptr)&&, long const&) (arg=<error reading variable: Attempt to dereference a generic pointer.>, arg=@0x7f1c90505ea8: 274877906944)
at include/vcl/vclptr.hxx:153
LibreOffice#27 0x00007f1c9182b1bd in ImplGetDefaultContextWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:283
LibreOffice#28 0x00007f1c9182af8a in ImplGetDefaultWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:264
LibreOffice#29 0x00007f1c9181c62d in Application::GetDefaultDevice () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:1111
LibreOffice#30 0x00007f1c916fc79d in ImageRequestParameters::scalePercentage (this=0x7ffe98d57970) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:79
LibreOffice#31 0x00007f1c916ffc08 in (anonymous namespace)::createVariant (rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:382
LibreOffice#32 0x00007f1c916ff343 in ImplImageTree::doLoadImage (this=0x559357ba6d30, rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:428
LibreOffice#33 0x00007f1c916ff0d4 in ImplImageTree::loadImage (this=0x559357ba6d30, rName="res/writer128.png", rStyle="breeze", rBitmap=..., localized=true, eFlags=ImageLoadFlags::NONE, nScalePercentage=-1)
at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:365
LibreOffice#34 0x00007f1c916faa21 in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, nScalePercentage=-1, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:47
LibreOffice#35 0x00007f1c916faaac in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:54
LibreOffice#36 0x00007f1c91671656 in Bitmap::loadFromIconTheme (this=0x7ffe98d57ed0, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:228
LibreOffice#37 0x00007f1c91671543 in Bitmap::Bitmap (this=0x7ffe98d57ed0, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:217
LibreOffice#38 0x00007f1c887bf2a2 in loadQPixmapIcon (rIconName="res/writer128.png") at include/vcl/qt/QtUtils.hxx:80
LibreOffice#39 0x00007f1c8880e04d in QtFrame::SetIcon (this=0x5593589a4420, nIcon=1) at vcl/qt6/../qt5/QtFrame.cxx:347
LibreOffice#40 0x00007f1c8880d88c in QtFrame::QtFrame (this=0x5593589a4420, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON, bUseCairo=true) at vcl/qt6/../qt5/QtFrame.cxx:156
LibreOffice#41 0x00007f1c8884480d in QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0::operator()() const (this=0x5593589a4400) at vcl/qt6/../qt5/QtInstance.cxx:396
LibreOffice#42 0x00007f1c88844785 in std::__invoke_impl<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(std::__invoke_other, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
LibreOffice#43 0x00007f1c88844745 in std::__invoke_r<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
LibreOffice#44 0x00007f1c8884462d in std::_Function_handler<void(), QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
LibreOffice#45 0x00007f1c8884674e in std::function<void()>::operator() (this=0x7ffe98d583a8) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
LibreOffice#46 0x00007f1c8883d46f in QtInstance::RunInMainThread (this=0x559356428580, func=...) at vcl/qt6/../qt5/QtInstance.cxx:210
LibreOffice#47 0x00007f1c8883f91b in QtInstance::CreateFrame (this=0x559356428580, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON) at vcl/qt6/../qt5/QtInstance.cxx:395
LibreOffice#48 0x00007f1c911468d6 in vcl::Window::ImplInit (this=0x5593589a3bc0, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1059
LibreOffice#49 0x00007f1c90ee2de7 in ImplBorderWindow::ImplInit (this=0x5593589a3bc0, pParent=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame, pSystemParentData=0x0)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1568
LibreOffice#50 0x00007f1c90ee3368 in ImplBorderWindow::ImplBorderWindow (this=0x5593589a3bc0, pParent=0x0, pSystemParentData=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1597
LibreOffice#51 0x00007f1c9117cb19 in VclPtrInstance<ImplBorderWindow>::VclPtrInstance<vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&>
(this=0x7ffe98d58960, arg=@0x7ffe98d58980: 0x0, arg=@0x7ffe98d58970: 0x0, arg=@0x7ffe98d58978: 274877906944, arg=@0x7ffe98d5896c: BorderWindowStyle::Frame) at include/vcl/vclptr.hxx:274
LibreOffice#52 0x00007f1c9117b405 in WorkWindow::ImplInit (this=0x5593589a32d0, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:51
LibreOffice#53 0x00007f1c9117bc67 in WorkWindow::WorkWindow (this=0x5593589a32d0, pParent=0x0, nStyle=274877906944) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:95
LibreOffice#54 0x00007f1c9182e653 in VclPtr<WorkWindow>::Create<decltype(nullptr), long const&>(decltype(nullptr)&&, long const&) (arg=<error reading variable: Attempt to dereference a generic pointer.>, arg=@0x7f1c90505ea8: 274877906944)
at include/vcl/vclptr.hxx:153
LibreOffice#55 0x00007f1c9182b1bd in ImplGetDefaultContextWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:283
LibreOffice#56 0x00007f1c9182af8a in ImplGetDefaultWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:264
LibreOffice#57 0x00007f1c9181c62d in Application::GetDefaultDevice () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:1111
LibreOffice#58 0x00007f1c916fc79d in ImageRequestParameters::scalePercentage (this=0x7ffe98d59530) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:79
LibreOffice#59 0x00007f1c916ffc08 in (anonymous namespace)::createVariant (rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:382
LibreOffice#60 0x00007f1c916ff343 in ImplImageTree::doLoadImage (this=0x559357ba6d30, rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:428
LibreOffice#61 0x00007f1c916ff0d4 in ImplImageTree::loadImage (this=0x559357ba6d30, rName="res/writer128.png", rStyle="breeze", rBitmap=..., localized=true, eFlags=ImageLoadFlags::NONE, nScalePercentage=-1)
at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:365
LibreOffice#62 0x00007f1c916faa21 in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, nScalePercentage=-1, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:47
LibreOffice#63 0x00007f1c916faaac in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:54
LibreOffice#64 0x00007f1c91671656 in Bitmap::loadFromIconTheme (this=0x7ffe98d59a90, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:228
LibreOffice#65 0x00007f1c91671543 in Bitmap::Bitmap (this=0x7ffe98d59a90, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:217
LibreOffice#66 0x00007f1c887bf2a2 in loadQPixmapIcon (rIconName="res/writer128.png") at include/vcl/qt/QtUtils.hxx:80
LibreOffice#67 0x00007f1c8880e04d in QtFrame::SetIcon (this=0x5593589a19c0, nIcon=1) at vcl/qt6/../qt5/QtFrame.cxx:347
LibreOffice#68 0x00007f1c8880d88c in QtFrame::QtFrame (this=0x5593589a19c0, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON, bUseCairo=true) at vcl/qt6/../qt5/QtFrame.cxx:156
#69 0x00007f1c8884480d in QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0::operator()() const (this=0x5593589a19a0) at vcl/qt6/../qt5/QtInstance.cxx:396
#70 0x00007f1c88844785 in std::__invoke_impl<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(std::__invoke_other, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
#71 0x00007f1c88844745 in std::__invoke_r<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
#72 0x00007f1c8884462d in std::_Function_handler<void(), QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
#73 0x00007f1c8884674e in std::function<void()>::operator() (this=0x7ffe98d59f68) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
#74 0x00007f1c8883d46f in QtInstance::RunInMainThread (this=0x559356428580, func=...) at vcl/qt6/../qt5/QtInstance.cxx:210
#75 0x00007f1c8883f91b in QtInstance::CreateFrame (this=0x559356428580, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON) at vcl/qt6/../qt5/QtInstance.cxx:395
#76 0x00007f1c911468d6 in vcl::Window::ImplInit (this=0x5593589a1160, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1059
#77 0x00007f1c90ee2de7 in ImplBorderWindow::ImplInit (this=0x5593589a1160, pParent=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame, pSystemParentData=0x0)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1568
#78 0x00007f1c90ee3368 in ImplBorderWindow::ImplBorderWindow (this=0x5593589a1160, pParent=0x0, pSystemParentData=0x0, nStyle=274877906944, nTypeStyle=BorderWindowStyle::Frame)
at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1597
#79 0x00007f1c9117cb19 in VclPtrInstance<ImplBorderWindow>::VclPtrInstance<vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&>
(this=0x7ffe98d5a520, arg=@0x7ffe98d5a540: 0x0, arg=@0x7ffe98d5a530: 0x0, arg=@0x7ffe98d5a538: 274877906944, arg=@0x7ffe98d5a52c: BorderWindowStyle::Frame) at include/vcl/vclptr.hxx:274
#80 0x00007f1c9117b405 in WorkWindow::ImplInit (this=0x5593589a0870, pParent=0x0, nStyle=274877906944, pSystemParentData=0x0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:51
#81 0x00007f1c9117bc67 in WorkWindow::WorkWindow (this=0x5593589a0870, pParent=0x0, nStyle=274877906944) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:95
#82 0x00007f1c9182e653 in VclPtr<WorkWindow>::Create<decltype(nullptr), long const&>(decltype(nullptr)&&, long const&) (arg=<error reading variable: Attempt to dereference a generic pointer.>, arg=@0x7f1c90505ea8: 274877906944)
at include/vcl/vclptr.hxx:153
#83 0x00007f1c9182b1bd in ImplGetDefaultContextWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:283
#84 0x00007f1c9182af8a in ImplGetDefaultWindow () at /home/michi/development/git/libreoffice/vcl/source/app/svdata.cxx:264
#85 0x00007f1c9181c62d in Application::GetDefaultDevice () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:1111
#86 0x00007f1c916fc79d in ImageRequestParameters::scalePercentage (this=0x7ffe98d5b0f0) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:79
#87 0x00007f1c916ffc08 in (anonymous namespace)::createVariant (rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:382
#88 0x00007f1c916ff343 in ImplImageTree::doLoadImage (this=0x559357ba6d30, rParameters=...) at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:428
#89 0x00007f1c916ff0d4 in ImplImageTree::loadImage (this=0x559357ba6d30, rName="res/writer128.png", rStyle="breeze", rBitmap=..., localized=true, eFlags=ImageLoadFlags::NONE, nScalePercentage=-1)
at /home/michi/development/git/libreoffice/vcl/source/image/ImplImageTree.cxx:365
#90 0x00007f1c916faa21 in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, nScalePercentage=-1, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:47
#91 0x00007f1c916faaac in ImageTree::loadImage (this=0x7f1c929bc3f0 <ImageTree::get()::s_ImageTree>, rName="res/writer128.png", rStyle="breeze", rBitmap=..., bLocalized=true, eFlags=ImageLoadFlags::NONE)
at /home/michi/development/git/libreoffice/vcl/source/image/ImageTree.cxx:54
#92 0x00007f1c91671656 in Bitmap::loadFromIconTheme (this=0x7ffe98d5b650, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:228
#93 0x00007f1c91671543 in Bitmap::Bitmap (this=0x7ffe98d5b650, rIconName="res/writer128.png") at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:217
#94 0x00007f1c887bf2a2 in loadQPixmapIcon (rIconName="res/writer128.png") at include/vcl/qt/QtUtils.hxx:80
#95 0x00007f1c8880e04d in QtFrame::SetIcon (this=0x55935899ef60, nIcon=1) at vcl/qt6/../qt5/QtFrame.cxx:347
#96 0x00007f1c8880d88c in QtFrame::QtFrame (this=0x55935899ef60, pParent=0x0, nStyle=SalFrameStyleFlags::NOICON, bUseCairo=true) at vcl/qt6/../qt5/QtFrame.cxx:156
#97 0x00007f1c8884480d in QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0::operator()() const (this=0x55935899ef40) at vcl/qt6/../qt5/QtInstance.cxx:396
#98 0x00007f1c88844785 in std::__invoke_impl<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(std::__invoke_other, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
#99 0x00007f1c88844745 in std::__invoke_r<void, QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&>(QtInstance::CreateFrame(SalFrame*, SalFrameStyleFlags)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
(More stack frames follow...)
Change-Id: I86af1c1d55aa3cbbcc708ccbefbff3556030819d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201486
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
bise86
pushed a commit
to bise86/LibreOffice
that referenced
this pull request
Sep 29, 2026
As is the case in other weld methods, signals about
the change of the toggle status for entries in weld::TreeView
are not supposed to be emitted when the change happens
programatically and not by manual user interaction.
Therefore, disable notify events in weld::TreeView::set_toggle
by renaming the actual toolkit-specific implementations to
do_set_toggle and making the weld::TreeView::set_toggle
base class method block signals while calling
the virtual methods.
See also e.g. weld::TreeView::insert which
uses the same approach.
This aligns the behavior of the Qt implementation
with the other ones. For example, the vcl/SalInstanceTreeView
implementation only calls weld::TreeView::signal_toggled
from SalInstanceTreeView::ToggleHdl. That one is set
via SvLBoxButtonData::SetLink in the SalInstanceTreeView ctor.
The link is called in SvLBoxButtonData::CallLink, called from
SvLBoxButton::ClickHdl, which only gets called in response
to either mouse or keyboard events.
This fixes a nullptr deref seen with the qt6 VCL
plugin and env var SAL_VCL_QT_USE_WELDED_WIDGETS=1
for the following scenario:
* start Writer
* insert an Image via "Insert" -> "Image"
* with image selected, open context menu
* activate the "Insert Caption" context menu
entry
* in the "Insert Caption" dialog, press the
"Auto..." button
Crash/Backtrace without this commit in place:
Thread 1 received signal SIGSEGV, Segmentation fault.
rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:831
831 return pData->length == 0;
(rr) bt
#0 rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:831
LibreOffice#1 0x00007fd2dba98d4b in SwCaptionOptPage::UpdateEntry (this=0x55e123635a80, nSelEntry=0) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1238
LibreOffice#2 0x00007fd2dba9e0aa in SwCaptionOptPage::ToggleEntryHdl (this=0x55e123635a80, rRowCol={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1347
LibreOffice#3 0x00007fd2dba9601d in SwCaptionOptPage::LinkStubToggleEntryHdl (instance=0x55e123635a80, data={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1345
LibreOffice#4 0x00007fd37d724a91 in Link<std::pair<weld::TreeIter const&, int> const&, void>::Call (this=0x55e11e257910, data={...}) at include/tools/link.hxx:105
LibreOffice#5 0x00007fd37d71d2f1 in weld::TreeView::signal_toggled (this=0x55e11e2578e8, rIterCol={...}) at include/vcl/weld/TreeView.hxx:109
LibreOffice#6 0x00007fd37d7052dd in QtInstanceTreeView::handleDataChanged (this=0x55e11e2576c0, rTopLeft=..., rBottomRight=..., rRoles=...) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:981
LibreOffice#7 0x00007fd37d72529a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffdc7bcb6b0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#8 0x00007fd37d7251a9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()LibreOffice#1}&&) (args=0x7ffdc7bcbaa0, fn=...)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#9 0x00007fd37d7250e3 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call
(f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd37d705170 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55e11e2576c0, arg=0x7ffdc7bcbaa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#10 0x00007fd37d72505d in QtPrivate::FunctionPointer<void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>
(f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd37d705170 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55e11e2576c0, arg=0x7ffdc7bcbaa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#11 0x00007fd37d724f86 in QtPrivate::QCallableObject<void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>::impl
(which=1, this_=0x55e1283a4630, r=0x55e11e2576c0, a=0x7ffdc7bcbaa0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:546
LibreOffice#12 0x00007fd37c4ee572 in QtPrivate::QSlotObjectBase::call (this=0x55e1283a4630, r=0x55e11e2576c0, a=0x7ffdc7bcbaa0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#13 0x00007fd37c724c6c in doActivate<false> (sender=0x55e127fd8030, signal_index=3, argv=0x7ffdc7bcbaa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4386
LibreOffice#14 0x00007fd37c71af23 in QMetaObject::activate (sender=0x55e127fd8030, m=0x7fd37d100d10 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffdc7bcbaa0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4447
LibreOffice#15 0x00007fd37cbc76fe in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55e127fd8030, mo=0x7fd37d100d10 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...)
at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#16 0x00007fd37cbc27c0 in QAbstractItemModel::dataChanged (this=0x55e127fd8030, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
LibreOffice#17 0x00007fd37cc6a184 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=0x55e1285d77a0, source_top_left=..., source_bottom_right=..., roles=...)
at /home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1627
LibreOffice#18 0x00007fd37ccaf63e in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()LibreOffice#1}::operator()() const
(this=0x7ffdc7bcbff0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#19 0x00007fd37ccaf59d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()LibreOffice#1}&&)
(args=0x7ffdc7bcc3f0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#20 0x00007fd37ccaf557 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call
(f=(void (QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd37cc691f0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55e1285d77a0, arg=0x7ffdc7bcc3f0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#21 0x00007fd37ccaf4c1 in QtPrivate::FunctionPointer<void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>
(f=(void (QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd37cc691f0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55e1285d77a0, arg=0x7ffdc7bcc3f0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#22 0x00007fd37ccaf3f0 in QtPrivate::QPrivateSlotObject<void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>::impl (which=1, this_=0x55e127fd8a30, r=0x55e127fd8030, a=0x7ffdc7bcc3f0, ret=0x0) at qtbase/src/corelib/kernel/qobject_p.h:273
LibreOffice#23 0x00007fd37c4ee572 in QtPrivate::QSlotObjectBase::call (this=0x55e127fd8a30, r=0x55e127fd8030, a=0x7ffdc7bcc3f0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#24 0x00007fd37c724c6c in doActivate<false> (sender=0x55e127fd75c0, signal_index=3, argv=0x7ffdc7bcc3f0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4386
LibreOffice#25 0x00007fd37c71af23 in QMetaObject::activate (sender=0x55e127fd75c0, m=0x7fd37d100d10 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffdc7bcc3f0)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4447
LibreOffice#26 0x00007fd37cbc76fe in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55e127fd75c0, mo=0x7fd37d100d10 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...)
at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#27 0x00007fd37cbc27c0 in QAbstractItemModel::dataChanged (this=0x55e127fd75c0, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
LibreOffice#28 0x00007fd37ba75cdd in QStandardItemModelPrivate::itemChanged (this=0x55e127fd8430, item=0x55e128008f00, roles=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:568
LibreOffice#29 0x00007fd37ba78c11 in QStandardItem::setData (this=0x55e128008f00, value=..., role=10) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:909
LibreOffice#30 0x00007fd37ba791dd in QStandardItem::setCheckable (this=0x55e128008f00, checkable=true) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1345
LibreOffice#31 0x00007fd37d712230 in QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0::operator()() const (this=0x55e128009370) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:364
LibreOffice#32 0x00007fd37d7121a5 in std::__invoke_impl<void, QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0&>(std::__invoke_other, QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0&) (__f=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
LibreOffice#33 0x00007fd37d712165 in std::__invoke_r<void, QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0&>(QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0&) (__fn=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
LibreOffice#34 0x00007fd37d71203d in std::_Function_handler<void(), QtInstanceTreeView::set_toggle(weld::TreeIter const&, TriState, int)::$_0>::_M_invoke (__functor=...)
at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
LibreOffice#35 0x00007fd37d62b07e in std::function<void()>::operator() (this=0x7ffdc7bcc838) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
LibreOffice#36 0x00007fd37d62282f in QtInstance::RunInMainThread (this=0x55e11e0d3580, func=...) at vcl/qt6/../qt5/QtInstance.cxx:216
LibreOffice#37 0x00007fd37d708783 in QtInstanceTreeView::set_toggle (this=0x55e11e2576c0, rIter=..., eState=TRISTATE_FALSE, nCol=-1) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:362
LibreOffice#38 0x00007fd386df11c3 in weld::TreeView::set_toggle (this=0x55e11e2578e8, row=0, eState=TRISTATE_FALSE, col=-1) at /home/michi/development/git/libreoffice/vcl/source/weld/TreeView.cxx:37
LibreOffice#39 0x00007fd2dba97561 in SwCaptionOptPage::Reset (this=0x55e123635a80, rSet=0x7ffdc7bccec0) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1100
LibreOffice#40 0x00007fd38c0d8c50 in SfxSingleTabDialogController::SetTabPage (this=0x7ffdc7bcce68, xTabPage=std::unique_ptr<SfxTabPage> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:269
LibreOffice#41 0x00007fd2dba930fd in SwCaptionOptDlg::SwCaptionOptDlg (this=0x7ffdc7bcce68, pParent=0x55e1282eefa0, rSet=SfxItemSet of pool 0x55e11fee13b0 with parent 0x0 and Which ranges: [(1, 165), (1000, 1253), (4021, 4081)])
at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:857
LibreOffice#42 0x00007fd2dbc1e524 in SwCaptionDialog::CaptionHdl (this=0x55e12817af00) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:376
LibreOffice#43 0x00007fd2dbc1cc1d in SwCaptionDialog::LinkStubCaptionHdl (instance=0x55e12817af00, data=...) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:373
LibreOffice#44 0x00007fd37d66c901 in Link<weld::Button&, void>::Call (this=0x55e128105858, data=...) at include/tools/link.hxx:105
LibreOffice#45 0x00007fd37d66be5c in weld::Button::signal_clicked (this=0x55e128105850) at include/vcl/weld/Button.hxx:37
LibreOffice#46 0x00007fd37d669b7d in QtInstanceButton::buttonClicked (this=0x55e1281056b0) at vcl/qt6/../qt5/QtInstanceButton.cxx:114
LibreOffice#47 0x00007fd37d66cd21 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton::*)()>::call(void (QtInstanceButton::*)(), QtInstanceButton*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7ffdc7bcd0b0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:128
LibreOffice#48 0x00007fd37d66cc59 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton::*)()>::call(void (QtInstanceButton::*)(), QtInstanceButton*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton::*)()>::call(void (QtInstanceButton::*)(), QtInstanceButton*, void**)::{lambda()LibreOffice#1}&&)
(args=0x7ffdc7bcd490, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:66
LibreOffice#49 0x00007fd37d66cb8b in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton::*)()>::call(void (QtInstanceButton::*)(), QtInstanceButton*, void**)
(f=(void (QtInstanceButton::*)(QtInstanceButton * const)) 0x7fd37d669b40 <QtInstanceButton::buttonClicked()>, o=0x55e1281056b0, arg=0x7ffdc7bcd490) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
LibreOffice#50 0x00007fd37d66cb0d in QtPrivate::FunctionPointer<void (QtInstanceButton::*)()>::call<QtPrivate::List<>, void>(void (QtInstanceButton::*)(), QtInstanceButton*, void**)
(f=(void (QtInstanceButton::*)(QtInstanceButton * const)) 0x7fd37d669b40 <QtInstanceButton::buttonClicked()>, o=0x55e1281056b0, arg=0x7ffdc7bcd490) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:175
LibreOffice#51 0x00007fd37d66ca36 in QtPrivate::QCallableObject<void (QtInstanceButton::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x55e1285a0ac0, r=0x55e1281056b0, a=0x7ffdc7bcd490, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:546
LibreOffice#52 0x00007fd37c4ee572 in QtPrivate::QSlotObjectBase::call (this=0x55e1285a0ac0, r=0x55e1281056b0, a=0x7ffdc7bcd490) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
LibreOffice#53 0x00007fd37c724c6c in doActivate<false> (sender=0x55e1283c55e0, signal_index=9, argv=0x7ffdc7bcd490) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4386
LibreOffice#54 0x00007fd37c71af23 in QMetaObject::activate (sender=0x55e1283c55e0, m=0x7fd37b190f60 <QAbstractButton::staticMetaObject>, local_signal_index=2, argv=0x7ffdc7bcd490)
at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4447
LibreOffice#55 0x00007fd37a5a7bcb in QMetaObject::activate<void, bool> (sender=0x55e1283c55e0, mo=0x7fd37b190f60 <QAbstractButton::staticMetaObject>, local_signal_index=2, ret=0x0, args=@0x7ffdc7bcd4d7: false)
at qtbase/src/corelib/kernel/qobjectdefs.h:320
LibreOffice#56 0x00007fd37a803742 in QAbstractButton::clicked (this=0x55e1283c55e0, _t1=false) at qtbase/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:254
LibreOffice#57 0x00007fd37a803657 in QAbstractButtonPrivate::emitClicked (this=0x55e128483d30) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:382
LibreOffice#58 0x00007fd37a8034af in QAbstractButtonPrivate::click (this=0x55e128483d30) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:375
LibreOffice#59 0x00007fd37a8049df in QAbstractButton::mouseReleaseEvent (this=0x55e1283c55e0, e=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:984
LibreOffice#60 0x00007fd37a673eed in QWidget::event (this=0x55e1283c55e0, event=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8993
LibreOffice#61 0x00007fd37a8047fc in QAbstractButton::event (this=0x55e1283c55e0, e=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:941
LibreOffice#62 0x00007fd37a988051 in QPushButton::event (this=0x55e1283c55e0, e=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qpushbutton.cpp:697
LibreOffice#63 0x00007fd37a5b2db0 in QApplicationPrivate::notify_helper (this=0x55e11e0d3900, receiver=0x55e1283c55e0, e=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3264
LibreOffice#64 0x00007fd37a5b4a4c in QApplication::notify (this=0x55e11e0792f0, receiver=0x55e1283c55e0, e=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2744
LibreOffice#65 0x00007fd37c63e8b9 in QCoreApplication::notifyInternal2 (receiver=0x55e1283c55e0, event=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1117
LibreOffice#66 0x00007fd37c63f5b9 in QCoreApplication::sendSpontaneousEvent (receiver=0x55e1283c55e0, event=0x7ffdc7bce8a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1576
LibreOffice#67 0x00007fd37a5b36d3 in QApplicationPrivate::sendMouseEvent
(receiver=0x55e1283c55e0, event=0x7ffdc7bce8a0, alienWidget=0x55e1283c55e0, nativeWidget=0x55e124371270, buttonDown=0x7fd37b1cd6b0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2343
LibreOffice#68 0x00007fd37a6b373d in QWidgetWindow::handleMouseEvent (this=0x55e125710bd0, event=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:696
#69 0x00007fd37a6b1da7 in QWidgetWindow::event (this=0x55e125710bd0, event=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:301
#70 0x00007fd37a5b2db0 in QApplicationPrivate::notify_helper (this=0x55e11e0d3900, receiver=0x55e125710bd0, e=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3264
#71 0x00007fd37a5b6caf in QApplication::notify (this=0x55e11e0792f0, receiver=0x55e125710bd0, e=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3214
#72 0x00007fd37c63e8b9 in QCoreApplication::notifyInternal2 (receiver=0x55e125710bd0, event=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1117
#73 0x00007fd37c63f5b9 in QCoreApplication::sendSpontaneousEvent (receiver=0x55e125710bd0, event=0x7ffdc7bcf998) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1576
#74 0x00007fd37b477f07 in QGuiApplicationPrivate::processMouseEvent (e=0x55e1281f8d90) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2513
#75 0x00007fd37b477041 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55e1281f8d90) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2237
#76 0x00007fd37b565bcd in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1112
#77 0x00007fd37bdc179b in userEventSourceDispatch (source=0x55e11e0ed250) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:39
#78 0x00007fd38150f68e in g_main_dispatch (context=context@entry=0x7fd370000fd0) at ../../../glib/gmain.c:3591
#79 0x00007fd381512a1f in g_main_context_dispatch_unlocked (context=0x7fd370000fd0) at ../../../glib/gmain.c:4451
#80 g_main_context_iterate_unlocked (context=context@entry=0x7fd370000fd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4516
#81 0x00007fd3815131b0 in g_main_context_iteration (context=0x7fd370000fd0, may_block=1) at ../../../glib/gmain.c:4582
#82 0x00007fd37ccd3c9b in QEventDispatcherGlib::processEvents (this=0x55e11e079ad0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:402
#83 0x00007fd37bdc1598 in QPAEventDispatcherGlib::processEvents (this=0x55e11e079ad0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:90
#84 0x00007fd37d622092 in QtInstance::ImplYield (this=0x55e11e0d3580, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:467
#85 0x00007fd37d625251 in QtInstance::DoYield (this=0x55e11e0d3580, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:478
#86 0x00007fd386a28a26 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
#87 0x00007fd386a282af in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
#88 0x00007fd386a28090 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
#89 0x00007fd39011f0f5 in desktop::Desktop::Main (this=0x7ffdc7bd1b40) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679
#90 0x00007fd386a51c0c in ImplSVMainRun () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:234
#91 0x00007fd37d62d751 in SalInstance::SVMainRun (this=0x55e11e0d3590) at vcl/inc/salinst.hxx:108
#92 0x00007fd386a51132 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:221
#93 0x00007fd386a52cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:252
#94 0x00007fd39019916a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
#95 0x000055e0e26279fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#96 0x000055e0e26279d7 in main (argc=2, argv=0x7ffdc7bd1d48) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49
Change-Id: Idc24e1eacdb512ec288476712a53fd5dc606f246
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207156
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
cyberluke
pushed a commit
to cyberluke/libreoffice-fork
that referenced
this pull request
Sep 30, 2026
…le-diagnostics feat: give the officelabs module working diagnostics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.