Skip to content

Conversation

@leandrocombr
Copy link

cd /home/liandro/core/external/tarballs/tmp && bash -c 'wget --progress=dot:mega -Q 0 -P "." -l 0 -nd -nH -N --no-use-server-timestamps https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar 2>&1 | tee -a /home/liandro/core/external/tarballs/fetch.log && [ $PIPESTATUS -eq 0 ]' && SUM=shasum -a 256 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar | sed "s/ .*//" && if test "$SUM" != "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770"; then echo ERROR: expected checksum for 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar is f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770 2>&1 | tee -a /home/liandro/core/external/tarballs/fetch.log; false; fi && mv 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar ../
--2022-09-19 15:17:15-- https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
Resolving dev-www.libreoffice.org (dev-www.libreoffice.org)... 89.238.68.201, 2a00:1828:a012:201::1
Connecting to dev-www.libreoffice.org (dev-www.libreoffice.org)|89.238.68.201|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2448421 (2.3M) [application/java-archive]
Saving to: ‘./8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar’

 0K ........ ........ ........ ........ .....            100%  620K=3.9s

2022-09-19 15:17:20 (620 KB/s) - ‘./8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar’ saved [2448421/2448421]

cd /home/liandro/core && ./g -f clone
Submodule 'translations' (git://anongit.freedesktop.org/libreoffice/translations) registered for path 'translations'
usage: git submodule [--quiet] add [-b ] [-f|--force] [--name ] [--reference ] [--] []
or: git submodule [--quiet] status [--cached] [--recursive] [--] [...]
or: git submodule [--quiet] init [--] [...]
or: git submodule [--quiet] deinit [-f|--force] [--] ...
or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference ] [--merge] [--recursive] [--] [...]
or: git submodule [--quiet] summary [--cached|--files] [--summary-limit ] [commit] [--] [...]
or: git submodule [--quiet] foreach [--recursive]
or: git submodule [--quiet] sync [--recursive] [--] [...]
make: *** [get-submodules] Error 1

[liandro@local core]$ make
cd /home/liandro/core && ./g -f clone
usage: git submodule [--quiet] add [-b ] [-f|--force] [--name ] [--reference ] [--] []
or: git submodule [--quiet] status [--cached] [--recursive] [--] [...]
or: git submodule [--quiet] init [--] [...]
or: git submodule [--quiet] deinit [-f|--force] [--] ...
or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference ] [--merge] [--recursive] [--] [...]
or: git submodule [--quiet] summary [--cached|--files] [--summary-limit ] [commit] [--] [...]
or: git submodule [--quiet] foreach [--recursive]
or: git submodule [--quiet] sync [--recursive] [--] [...]
make: *** [get-submodules] Error 1
[liandro@local core]$

mistmist and others added 30 commits July 27, 2022 10:08
Open a document that is locked, choose Read-Only, then click "Edit" on
infobar: it is still locked, so a dialog pops up. Click "Cancel".

Now a *second* dialog pops up that *again* asks if you want to open a
copy of the document - this appears pointless so let's remove it.

Change-Id: Id96a1211caea63e7559c67b08a6581d1a0ce9add
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137234
Tested-by: Jenkins
Reviewed-by: Michael Stahl <[email protected]>
(cherry picked from commit a1ca68e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137421
Reviewed-by: Xisco Fauli <[email protected]>
… boundary

Since ImpEditEngine::StartOfWord is only used when a selection is deleted at the left, change the search preference of the word boundary from forward to backward. For further details of a deletion of a selection check ImpEditEngine::DeleteLeftOrRight.

Change-Id: Ic68901cc04e5057e058ff03304f68eef1dca7a1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137108
Tested-by: Andreas Heinisch <[email protected]>
Reviewed-by: Andreas Heinisch <[email protected]>
(cherry picked from commit 9a612ce)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137426
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <[email protected]>
...and in this case file name will be not parsed and --attach-name
parameter will be empty. This leads to missing file name of
attachment. In case of Thunderbird it is not a big problem,
but Outlook does not want to attach .tmp files: it is "potentially
unsafe attachment".

Change-Id: I7c2f696391e1183211a169b08004c6668771f288
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137480
Tested-by: Gabor Kelemen <[email protected]>
Reviewed-by: Mike Kaganski <[email protected]>
Reviewed-by: Thorsten Behrens <[email protected]>
(cherry picked from commit 772f7a2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137516
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <[email protected]>
Regression from:
https://cgit.freedesktop.org/libreoffice/core/commit
tdf#119962 Fix autoincrement for copied table
in 2021

so use the block added in the patch only when detecting "hsql" or "firebird"
in the string returned by getDatabaseProductName put in lowercase

Change-Id: Ic35a03039e6d06846892d93d5b30186c53f24052
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137499
Reviewed-by: Julien Nabet <[email protected]>
(cherry picked from commit e9d0464)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137515
Reviewed-by: Lionel Mamane <[email protected]>
Tested-by: Jenkins
reverts cross-ref field listings in the Navigator to pre commit
21b5d6e

A static_cast is used in place of a dynamic_cast which should provide
for reduced time to fill the fields members list for documents with
cross reference fields which was the main purpose for commit
21b5d6e

Change-Id: If2734386de463a1280d835cab54f95e8bd7fab5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137444
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <[email protected]>
(cherry picked from commit b8ac21a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137433
Reviewed-by: Xisco Fauli <[email protected]>
…ground

Make narrow no-break space visible by drawing a gray background like for non-breaking spaces.

Change-Id: I3f2b4374a08ea8305c8c84eb497bc362866ad352
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137490
Tested-by: Andreas Heinisch <[email protected]>
Reviewed-by: Andreas Heinisch <[email protected]>
(cherry picked from commit bbb57e8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137432
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Tested-by: Jenkins
Change-Id: I41187b02e6b0545529e2a2c5b07da671eae89079
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137506
Reviewed-by: Michael Stahl <[email protected]>
Tested-by: Jenkins
(cherry picked from commit c7a7695)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137517
Reviewed-by: Xisco Fauli <[email protected]>
There are some problems like tdf#145843 and tdf#145988 that I cannot
reproduce, yet a number of users apparently can. I can't fix those
for 7.3, so default to the previous VCL backend again.

Change-Id: I8c3e9713913a453c2b55a0ad9b1c8f82af8f7917
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129290
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
(cherry picked from commit 290957a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135708
Reviewed-by: Xisco Fauli <[email protected]>
Tested-by: Christian Lohmaier <[email protected]>
Reviewed-by: Christian Lohmaier <[email protected]>
Change-Id: I558e5cb0ceed03e366d70acb87b89dba00043637
No idea why this only appears now, but:

======================================================================
FAIL: test_descriptive_statistics (descriptiveStatistics.descriptiveStatistics)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/rene/tmp/autopkgtest-lxc.4j23khs6/downtmp/build.zIT/src/sc/qa/uitest/statistics/descriptiveStatistics.py", line 108, in te
st_descriptive_statistics
    self.assertEqual(round(get_cell_by_position(document, 0, 6, 10).getValue(),14) , 0.01524095329036)
AssertionError: 0.01524095329035 != 0.01524095329036

Change-Id: I496daf61a9542ea0da78e6092dd7070a2665ab0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127363
Tested-by: René Engelhard <[email protected]>
Tested-by: Jenkins
Reviewed-by: Eike Rathke <[email protected]>
(cherry picked from commit c6f7d7d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137522
The bugreport has two documents that show clear=left and clear=right is
basically ignored in Word in the RTL paragraph case, while clear=none
and clear=all work as expected.

There was no special-casing for RTL in SwBreakPortion::Format()
previously, as the OOXML spec does talk about left/right even in case of
RTL, i.e. no expected mirroring is documented as the behavior. Looking
at [MS-OI29500], "2.1.528 Part 1 Section 17.18.3, ST_BrClear" does say
that the Word "behaves unpredictably" in the normal (non-web) layout.

Fix the problem by handling clear=left and clear=right as clear=none in
the RTL case, this fixes the rendering differences for both
bugdocuments.

If later we do want the mirrored layout, then such mirroring could be
done in SwTextFly::GetMaxBottom().

Change-Id: I6265e64540fa9e5b893cfbea146152854416dce2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137507
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Jenkins
(cherry picked from commit 4e329f5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137520
Reviewed-by: Michael Stahl <[email protected]>
…ctive

looks to me that once the bound rect (and visible children) are synced
that they won't change again so continued recalculation of bounds
doesn't achieve anything except super expensive calc for no effect.

Change-Id: I1684e3724bca28d03f7c255c2d7a40eee1b70eae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137497
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit 8e5c198)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137521
Reviewed-by: Michael Stahl <[email protected]>
Regression from a8dd49b
Convert dimension lines tab page to widget UI

Min and max should be -10000 and 10000 (in mm).

Change-Id: I936857f4c10bd2b6fec7b0e492c069b88cc071dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137553
Reviewed-by: Julien Nabet <[email protected]>
(cherry picked from commit 6cf1212)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137523
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Tested-by: Jenkins
This reverts 7.4 commit 18cc124.

Someone backported it to 7.3 as well.

Reverting fixes regression report tdf#150061.


Change-Id: Ie04595e11dd9d2e15fa940b8ada71714bd434f6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137581
Tested-by: Jenkins
Reviewed-by: Justin Luth <[email protected]>
(cherry picked from commit 84b719e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137530
Reviewed-by: Xisco Fauli <[email protected]>
Opentype defines only "frac" and not parameters values like 1 or 2 for "frac"

See:
https://en.wikipedia.org/wiki/List_of_typographic_features
https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj

So remove STR_FONT_FEATURE_ID_FRAC_PARAM_0/1/2
+ remove the extra ":" for STR_FONT_FEATURE_ID_FRAC

I gave a try with "Alegraya" font, it worked.
I also give a try with "Linux Biolinum G", there are still "None" (value "0"), "Diagonal fractions" (value "1") and "Nut fractions" (value "2").
It seems they're on the font itself like entry "'frac' Diagonal and nut Fractions".

So it shouldn't bring regression.

Change-Id: I2f46a3f4a53dc498b764dbeb1c1266589cc8d8c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137574
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins
Reviewed-by: Julien Nabet <[email protected]>
Signed-off-by: Xisco Fauli <[email protected]>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137590
Change-Id: I7ebde70e4e1aae861f6ac7d70a91741596cb2cc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137525
Reviewed-by: Michael Stahl <[email protected]>
Tested-by: Jenkins
Regression from e85b482
(use SfxItemSet::GetItemIfSet in cui)

Change-Id: I74889f21f2bda248946269b0caf5ddc629002ae0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137580
Reviewed-by: Julien Nabet <[email protected]>
(cherry picked from commit 740cdbb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137533
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Using different methods of creation (one using DecodeMechanism::NONE,
another using DecodeMechanism::WithCharset) gave differently encoded
end results, comparing unequal.

The proper way is using DecodeMechanism::NONE on the document's URL,
as implemented in commit 06756e4
  Author Mike Kaganski <[email protected]>
  Date   Sat Nov 18 22:41:40 2017 +0300
    One more proper construction of vnd.sun.star.pkg URL

Co-authored-by: Mike Kaganski <[email protected]>

Change-Id: I272f277ef8b4bd23e6cb7884e68f3c79f742683a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136901
Reviewed-by: Mike Kaganski <[email protected]>
Tested-by: Mike Kaganski <[email protected]>
(cherry picked from commit 9790585)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137427
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Hide "Hairline (0.05pt)", "Very thin (0.5pt)" and "Thin (0.75pt)"
predefined border types for Double cell borders, because it has a
minimum thickness 1.1pt, which means, we cannot allow to select them.
Also setting the Medium (1.5pt) predefined thickness to the border
width for Double borders as the thinnest possible predefined value.

TODO: tdf#146466: Inconsistent choices of borders between toolbar and sidebar

Change-Id: I46ccb206835a34a6dfaa39e63e614bb01bc6b02e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137441
Tested-by: Jenkins
Reviewed-by: Balazs Varga <[email protected]>
(cherry picked from commit fe2d59a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137531
Reviewed-by: Samuel Mehrbrodt <[email protected]>
Tested-by: Samuel Mehrbrodt <[email protected]>
It seems, bookmark export always resulted unpaired bookmark
elements around ToC sections without causing any interoperability
problem, but replacing bookmark elements with moveRange (where
needed) releaved the problem, resulting a file format issue in MSO.

Skip export the unpaired moveRangeEnd elements until there is a
better solution, i.e. exporting moveRangeStart elements also in
paragraph-end positions before TOC sections.

Note: for back-porting this is the best, i.e. simple enough to be
stable and to get a quick review.

Regression from commit 9e1e88a
"tdf#145720 DOCX export: fix loss of tracked moving".

Change-Id: I93de467b6a43b2dd3fa97defaef47993969bb7ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137623
Tested-by: Jenkins
Reviewed-by: László Németh <[email protected]>
(cherry picked from commit d96cbc7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137600
Reviewed-by: Michael Stahl <[email protected]>
Change-Id: I0f369c0d7c426b6f8930f4d34d7e2130c71a06c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137647
Tested-by: Jenkins
Tested-by: Rizal Muttaqin <[email protected]>
Reviewed-by: Rizal Muttaqin <[email protected]>
(cherry picked from commit c88eb10)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137602
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
This crash is caused by an odd re-entrance happening. In this case
re-entrance to SwContentTree::UpdateTracking happens when
SfxHintId::DocChanged is broadcast from SwDocShell::SetModified when
GetContentAtPos is called from SwContentTree::UpdateTracking which
eventually causes a stack crash.

Getting model position for view point when getting content at
position (GetContentAtPos call to GetModelPositionForViewPoint)
shouldn't set the document modification state. Which is what happens
using the steps to repro this crash.

This patch disallows setting document modification state during the
DocumentStylePoolManager::GetFormatFromPool call from
SwTextINetFormat::GetCharFormat.

backtrace of last 100 levels before crash:

1   SwTextFrame::GetModelPositionForViewPoint_          frmcrsr.cxx
551  0x7fffbddbde96
2   SwTextFrame::GetModelPositionForViewPoint           frmcrsr.cxx
665  0x7fffbddbe891
3   SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
4   SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
5   SwPageFrame::GetModelPositionForViewPoint           trvlfrm.cxx
211  0x7fffbdcf6f2f
6   SwRootFrame::GetModelPositionForViewPoint           trvlfrm.cxx
452  0x7fffbdcf7fa0
7   SwCursorShell::GetContentAtPos                      crstrvl.cxx
1370 0x7fffbd581050
8   SwContentTree::UpdateTracking                       content.cxx
3700 0x7fffbe9864a0
9   SwContentTree::TimerUpdate                          content.cxx
3589 0x7fffbe985474
10  SwContentTree::Notify                               content.cxx
3047 0x7fffbe9811ad
11  SfxBroadcaster::Broadcast
SfxBroadcaster.cxx           40   0x7ffff4180f32
12  SwDocShell::SetModified                             docsh2.cxx
1446 0x7fffbe53b663
13  SwDocShell::Ole2ModifiedHdl                         docsh.cxx
1150 0x7fffbe52d660
14  SwDocShell::LinkStubOle2ModifiedHdl                 docsh.cxx
1131 0x7fffbe52d597
15  Link<bool, void>::Call                              link.hxx
111  0x7fffbd8889f5
16  sw::DocumentStateManager::SetModified
DocumentStateManager.cxx     50   0x7fffbd888729
17  SwDoc::MakeCharFormat                               docfmt.cxx
861  0x7fffbd6ef2b8
18  SwDoc::MakeCharFormat_                              docfmt.cxx
883  0x7fffbd6ef43a
19  sw::DocumentStylePoolManager::GetFormatFromPool
DocumentStylePoolManager.cxx 1514 0x7fffbd89132c
20  sw::DocumentStylePoolManager::GetCharFormatFromPool
DocumentStylePoolManager.cxx 1718 0x7fffbd892d86
21  SwTextINetFormat::GetCharFormat                     txtatr2.cxx
144  0x7fffbdfa1a03
22  SwTextINetFormat::GetCharFormat                     txtinet.hxx
52   0x7fffbddb4f4e
23  CharFormat::GetItemSet                              atrstck.cxx
145  0x7fffbddb07e5
24  SwAttrHandler::PushAndChg                           atrstck.cxx
345  0x7fffbddb1047
25  SwAttrIter::Chg                                     itratr.cxx
102  0x7fffbddf02db
26  SwAttrIter::SeekFwd                                 itratr.cxx
296  0x7fffbddf1104
27  SwAttrIter::Seek                                    itratr.cxx
419  0x7fffbddf17b3
28  SwAttrIter::SeekAndChgAttrIter                      itratr.cxx
158  0x7fffbddf06e2
29  SwTextIter::SeekAndChg                              itrtxt.hxx
313  0x7fffbde01791
30  SwTextCursor::GetModelPositionForViewPoint          itrcrsr.cxx
1658 0x7fffbddff83f
31  SwTextFrame::GetModelPositionForViewPoint_          frmcrsr.cxx
604  0x7fffbddbe337
32  SwTextFrame::GetModelPositionForViewPoint           frmcrsr.cxx
665  0x7fffbddbe891
33  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
34  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
35  SwPageFrame::GetModelPositionForViewPoint           trvlfrm.cxx
211  0x7fffbdcf6f2f
36  SwRootFrame::GetModelPositionForViewPoint           trvlfrm.cxx
452  0x7fffbdcf7fa0
37  SwCursorShell::GetContentAtPos                      crstrvl.cxx
1370 0x7fffbd581050
38  SwContentTree::UpdateTracking                       content.cxx
3700 0x7fffbe9864a0
39  SwContentTree::TimerUpdate                          content.cxx
3589 0x7fffbe985474
40  SwContentTree::Notify                               content.cxx
3047 0x7fffbe9811ad
41  SfxBroadcaster::Broadcast
SfxBroadcaster.cxx           40   0x7ffff4180f32
42  SwDocShell::SetModified                             docsh2.cxx
1446 0x7fffbe53b663
43  SwDocShell::Ole2ModifiedHdl                         docsh.cxx
1150 0x7fffbe52d660
44  SwDocShell::LinkStubOle2ModifiedHdl                 docsh.cxx
1131 0x7fffbe52d597
45  Link<bool, void>::Call                              link.hxx
111  0x7fffbd8889f5
46  sw::DocumentStateManager::SetModified
DocumentStateManager.cxx     50   0x7fffbd888729
47  SwDoc::MakeCharFormat                               docfmt.cxx
861  0x7fffbd6ef2b8
48  SwDoc::MakeCharFormat_                              docfmt.cxx
883  0x7fffbd6ef43a
49  sw::DocumentStylePoolManager::GetFormatFromPool
DocumentStylePoolManager.cxx 1514 0x7fffbd89132c
50  sw::DocumentStylePoolManager::GetCharFormatFromPool
DocumentStylePoolManager.cxx 1718 0x7fffbd892d86
51  SwTextINetFormat::GetCharFormat                     txtatr2.cxx
144  0x7fffbdfa1a03
52  SwTextINetFormat::GetCharFormat                     txtinet.hxx
52   0x7fffbddb4f4e
53  CharFormat::GetItemSet                              atrstck.cxx
145  0x7fffbddb07e5
54  SwAttrHandler::PushAndChg                           atrstck.cxx
345  0x7fffbddb1047
55  SwAttrIter::Chg                                     itratr.cxx
102  0x7fffbddf02db
56  SwAttrIter::SeekFwd                                 itratr.cxx
296  0x7fffbddf1104
57  SwAttrIter::Seek                                    itratr.cxx
419  0x7fffbddf17b3
58  SwAttrIter::SeekAndChgAttrIter                      itratr.cxx
158  0x7fffbddf06e2
59  SwTextIter::SeekAndChg                              itrtxt.hxx
313  0x7fffbde01791
60  SwTextCursor::GetModelPositionForViewPoint          itrcrsr.cxx
1658 0x7fffbddff83f
61  SwTextFrame::GetModelPositionForViewPoint_          frmcrsr.cxx
604  0x7fffbddbe337
62  SwTextFrame::GetModelPositionForViewPoint           frmcrsr.cxx
665  0x7fffbddbe891
63  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
64  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
65  SwPageFrame::GetModelPositionForViewPoint           trvlfrm.cxx
211  0x7fffbdcf6f2f
66  SwRootFrame::GetModelPositionForViewPoint           trvlfrm.cxx
452  0x7fffbdcf7fa0
67  SwCursorShell::GetContentAtPos                      crstrvl.cxx
1370 0x7fffbd581050
68  SwContentTree::UpdateTracking                       content.cxx
3700 0x7fffbe9864a0
69  SwContentTree::TimerUpdate                          content.cxx
3589 0x7fffbe985474
70  SwContentTree::Notify                               content.cxx
3047 0x7fffbe9811ad
71  SfxBroadcaster::Broadcast
SfxBroadcaster.cxx           40   0x7ffff4180f32
72  SwDocShell::SetModified                             docsh2.cxx
1446 0x7fffbe53b663
73  SwDocShell::Ole2ModifiedHdl                         docsh.cxx
1150 0x7fffbe52d660
74  SwDocShell::LinkStubOle2ModifiedHdl                 docsh.cxx
1131 0x7fffbe52d597
75  Link<bool, void>::Call                              link.hxx
111  0x7fffbd8889f5
76  sw::DocumentStateManager::SetModified
DocumentStateManager.cxx     50   0x7fffbd888729
77  SwDoc::MakeCharFormat                               docfmt.cxx
861  0x7fffbd6ef2b8
78  SwDoc::MakeCharFormat_                              docfmt.cxx
883  0x7fffbd6ef43a
79  sw::DocumentStylePoolManager::GetFormatFromPool
DocumentStylePoolManager.cxx 1514 0x7fffbd89132c
80  sw::DocumentStylePoolManager::GetCharFormatFromPool
DocumentStylePoolManager.cxx 1718 0x7fffbd892d86
81  SwTextINetFormat::GetCharFormat                     txtatr2.cxx
144  0x7fffbdfa1a03
82  SwTextINetFormat::GetCharFormat                     txtinet.hxx
52   0x7fffbddb4f4e
83  CharFormat::GetItemSet                              atrstck.cxx
145  0x7fffbddb07e5
84  SwAttrHandler::PushAndChg                           atrstck.cxx
345  0x7fffbddb1047
85  SwAttrIter::Chg                                     itratr.cxx
102  0x7fffbddf02db
86  SwAttrIter::SeekFwd                                 itratr.cxx
296  0x7fffbddf1104
87  SwAttrIter::Seek                                    itratr.cxx
419  0x7fffbddf17b3
88  SwAttrIter::SeekAndChgAttrIter                      itratr.cxx
158  0x7fffbddf06e2
89  SwTextIter::SeekAndChg                              itrtxt.hxx
313  0x7fffbde01791
90  SwTextCursor::GetModelPositionForViewPoint          itrcrsr.cxx
1658 0x7fffbddff83f
91  SwTextFrame::GetModelPositionForViewPoint_          frmcrsr.cxx
604  0x7fffbddbe337
92  SwTextFrame::GetModelPositionForViewPoint           frmcrsr.cxx
665  0x7fffbddbe891
93  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
94  SwLayoutFrame::GetModelPositionForViewPoint         trvlfrm.cxx
168  0x7fffbdcf6c08
95  SwPageFrame::GetModelPositionForViewPoint           trvlfrm.cxx
211  0x7fffbdcf6f2f
96  SwRootFrame::GetModelPositionForViewPoint           trvlfrm.cxx
452  0x7fffbdcf7fa0
97  SwCursorShell::GetContentAtPos                      crstrvl.cxx
1370 0x7fffbd581050
98  SwContentTree::UpdateTracking                       content.cxx
3700 0x7fffbe9864a0
99  SwContentTree::TimerUpdate                          content.cxx
3589 0x7fffbe985474
100 SwContentTree::Notify                               content.cxx
3047 0x7fffbe9811ad

Change-Id: I7e0814cf3a42dc876dd60c926d4b2245a036cc3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135802
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <[email protected]>
(cherry picked from commit 4531236)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137604
Reviewed-by: Caolán McNamara <[email protected]>
Update PDF export test that depends on a mapping the font no longer has,
and use different characters that meet the test criteria.

Change-Id: I0f89297a52ffcef3513e0a788ec3bab645cc354b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137661
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <[email protected]>
(cherry picked from commit 660c14d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137611
Reviewed-by: خالد حسني <[email protected]>
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Also update test expectation due to changed glyph order.

Change-Id: I8f6d1a057077cb6de5e5d7fce4bec29929edb8b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137663
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <[email protected]>
(cherry picked from commit f1540e0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137610
Reviewed-by: خالد حسني <[email protected]>
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
a lang::IllegalArgumentException is thrown on seeing myEB_Y_Pos
and the xml tags become unbalanced

Change-Id: I2bd65933c572d7bd1d1ade699fcef21a63a85e9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137612
Tested-by: Jenkins
Reviewed-by: Michael Stahl <[email protected]>
Use locale specific decimal separator for decimal tabulators,
because OOXML does not support custom decimal separator.

Regression from commit c0b6aad
"(related: fdo#81033) writerfilter: default tab fill character is space".

Change-Id: I9d89e5817707f3b39a1b718b732f6e289f7c6a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136846
Tested-by: László Németh <[email protected]>
Reviewed-by: László Németh <[email protected]>
(cherry picked from commit c4e3b76)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137601
Tested-by: Jenkins
Reviewed-by: Michael Stahl <[email protected]>
The SwFrameFormat for table lines and table boxes gets an auto-generated
name in SwDoc::MakeTableBoxFormat()/MakeTableLineFormat().

The problem is that xmltble.cxx assumes that these SwFrameFormats never
have a name, and sets names on them temporarily during
exportTextAutoStyles(), then later reads them when exporting the
table-rows and table-cells, then eventually resets them all to an empty
name.

One issue is that it assumes that a non-empty SwFrameFormat name
indicates a style has been exported, but that isn't always the case, and
the name may still be an auto-generated one.

Another issue is that overwriting the names interferes with the use of
the names in Undo operations.

So store the name for the ODF styles in members of the filter classes
instead of the core model.

(regression from commit 083fe09)

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127548
Tested-by: Jenkins
Reviewed-by: Michael Stahl <[email protected]>
(cherry picked from commit 5a9fe1d)

tdf#145226 sw: ODF export: fix table-row/table-cell style display-name
Missed this attribute in commit 5a9fe1d
(cherry picked from commit de0120d)

Change-Id: I9b17962decbf9f8ecd2a91551230cf0f012e7a9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137761
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <[email protected]>
...even if numbering is empty.

Since this is a core change to avoid impact on other formats
(mostly ODT) it is implemented as a new document setting.

Change-Id: I35e1cec97eb40f9f3411e3ba74cb553bd8afac59
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134989
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <[email protected]>
(cherry picked from commit a7d9837)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137717
* Update dictionaries from branch 'libreoffice-7-4'
  to ee83d9c5d9879bd203d74300b482fbb8137e2229
  - Updated Slovenian thesaurus
    
    Change-Id: I7209dd3153e83674b473e95797fff7b0b01a7b2e
    Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/137725
    Tested-by: Andras Timar <[email protected]>
    Reviewed-by: Andras Timar <[email protected]>
will be enforced in e.g. microsoft store later this year...

Change-Id: Ifa7f98d5c72bd7c7f602dc54ba8e16f7470dc3d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137738
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <[email protected]>
(cherry picked from commit cedfcb7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137720
Reviewed-by: Michael Stahl <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Mar 27, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  #1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  #2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  #3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  #4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  #5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  #6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  #7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  #8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  #9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  #10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  #11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  #12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  #13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  #14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  #15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  #16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  #17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  #18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  #19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  #20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  #21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  #22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  #23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  #24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  #25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  #26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  #27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  #28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  #29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  #30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  #31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  #32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  #33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  #34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  #35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  #36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  #37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  #38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  #39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  #40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  #41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  #42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  #43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  #44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  #45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  #46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  #47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  #50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  #51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  #52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  #53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 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&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Mar 27, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  #1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  #2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  #3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  #4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  #5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  #6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  #7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  #8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  #9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  #10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  #11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  #12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  #13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  #14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  #15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  #16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  #17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  #18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  #19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  #20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  #21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  #22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  #23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  #24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  #25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  #26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  #27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  #28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  #29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  #30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  #31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  #32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  #33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  #34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  #35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  #36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  #37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  #38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  #39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  #40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  #41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  #42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  #43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  #44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  #45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  #46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  #47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  #50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  #51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  #52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  #53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 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&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Mar 27, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  #1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  #2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  #3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  #4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  #5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  #6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  #7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  #8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  #9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  #10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  #11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  #12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  #13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  #14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  #15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  #16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  #17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  #18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  #19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  #20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  #21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  #22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  #23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  #24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  #25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  #26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  #27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  #28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  #29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  #30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  #31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  #32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  #33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  #34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  #35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  #36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  #37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  #38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  #39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  #40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  #41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  #42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  #43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  #44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  #45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  #46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  #47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  #50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  #51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  #52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  #53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 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&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
(cherry picked from commit dfea2cd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183367
Tested-by: Jenkins CollaboraOffice <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Apr 15, 2025
seen on jenkins, where it looks like things are destructing that need to be destructed while the solar mutex is held.

Thread 1 (Thread 0x7f41c94fc700 (LWP 2563514)):
  ^#0  0x00007f41e7b771cb in SfxItemPool::IsInRange(unsigned short) const (this=0x9999999999999999, nWhich=1077) at include/svl/itempool.hxx:332
  ^#1  0x00007f41e7b6cd84 in SfxItemPool::getTargetPool(unsigned short) const (this=0x9999999999999999, nWhich=1077) at svl/source/items/itempool.cxx:452
  ^#2  0x00007f41e7b6cdd7 in SfxItemPool::getTargetPool(unsigned short) const (this=0x53e0740, nWhich=1077) at svl/source/items/itempool.cxx:455
  ^#3  0x00007f41e7b6ce27 in SfxItemPool::CheckItemInfoFlag(unsigned short, unsigned short) const (this=0x53e0740, nWhich=1077, nMask=1) at svl/source/items/itempool.cxx:461
        pTarget = 0x7f41c94f7eb0
  ^#4  0x00007f41e7bd18a5 in SfxItemPool::NeedsSurrogateSupport(unsigned short) const (this=0x53e0740, nWhich=1077) at include/svl/itempool.hxx:344
  ^#5  0x00007f41e7bc407a in SfxItemSet::checkRemovePoolRegistration(SfxPoolItem const*) (this=0x6253bf0, pItem=0x6253dd0) at svl/source/items/itemset.cxx:382
  ^#6  0x00007f41e7bc3fc7 in SfxItemSet::ClearSingleItem_PrepareRemove(SfxPoolItem const*) (this=0x6253bf0, pItem=0x6253dd0) at svl/source/items/itemset.cxx:362
  ^#7  0x00007f41e7bc3bc0 in SfxItemSet::ClearAllItemsImpl() (this=0x6253bf0) at svl/source/items/itemset.cxx:441
        rCandidate = {first = 1077, second = 0x6253dd0}
        __range1 = std::__debug::unordered_map with 3 elements = {[1077] = 0x6253dd0, [4037] = 0x60b2e30, [1082] = 0x6253d70}
        __begin1 = {<std::__detail::_Node_iterator_base<std::pair<unsigned short const, SfxPoolItem const*>, false>> = {_M_cur = 0x6253e00}, <No data fields>}
        __end1 = {<std::__detail::_Node_iterator_base<std::pair<unsigned short const, SfxPoolItem const*>, false>> = {_M_cur = 0x0}, <No data fields>}
        nRetval = 0
  ^#8  0x00007f41e7bc389b in SfxItemSet::~SfxItemSet() (this=0x6253bf0) at svl/source/items/itemset.cxx:316
  ^#9  0x00007f41e5ff6ccc in std::_Optional_payload_base<SfxItemSet>::_M_destroy() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:287
  ^#10 0x00007f41e5ff6caa in std::_Optional_payload_base<SfxItemSet>::_M_reset() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:318
  ^#11 0x00007f41e5ff6db9 in std::_Optional_payload<SfxItemSet, false, false, false>::~_Optional_payload() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:439
  ^#12 0x00007f41e5ff6d95 in std::_Optional_base<SfxItemSet, false, false>::~_Optional_base() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:510
  ^#13 0x00007f41e5ff4025 in std::optional<SfxItemSet>::~optional() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:705
  ^#14 0x00007f41e62467eb in sdr::properties::DefaultProperties::~DefaultProperties() (this=0x6253be0) at svx/source/sdr/properties/defaultproperties.cxx:92
  ^#15 0x00007f41e625061d in sdr::properties::AttributeProperties::~AttributeProperties() (this=0x6253be0) at svx/source/sdr/properties/attributeproperties.cxx:219
  ^#16 0x00007f41e624a225 in sdr::properties::TextProperties::~TextProperties() (this=0x6253be0) at svx/source/sdr/properties/textproperties.cxx:78
  ^#17 0x00007f41e6241525 in sdr::properties::RectangleProperties::~RectangleProperties() (this=0x6253be0) at svx/source/sdr/properties/rectangleproperties.cxx:38
  ^#18 0x00007f41e6241569 in sdr::properties::RectangleProperties::~RectangleProperties() (this=0x6253be0) at svx/source/sdr/properties/rectangleproperties.cxx:37
  ^#19 0x00007f41e6429a1c in std::default_delete<sdr::properties::BaseProperties>::operator()(sdr::properties::BaseProperties*) const (this=0x6217e58, __ptr=0x6253be0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:95
  ^#20 0x00007f41e642995c in std::__uniq_ptr_impl<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties> >::reset(sdr::properties::BaseProperties*) (this=0x6217e58, __p=0x0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:203
        __old_p = 0x6253be0
  ^#21 0x00007f41e642612a in std::unique_ptr<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties> >::reset(sdr::properties::BaseProperties*) (this=0x6217e58, __p=0x0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:501
  ^#22 0x00007f41e6414094 in SdrObject::~SdrObject() (this=0x6217d00) at svx/source/svdraw/svdobj.cxx:461
        aList = std::__debug::vector of length 0, capacity 1
  ^#23 0x00007f41e64121d5 in SdrAttrObj::~SdrAttrObj() (this=0x6217d00) at svx/source/svdraw/svdoattr.cxx:42
  ^#24 0x00007f41e64bb91b in SdrTextObj::~SdrTextObj() (this=0x6217d00) at svx/source/svdraw/svdotext.cxx:203
  ^#25 0x00007f41e64b6c2f in SdrRectObj::~SdrRectObj() (this=0x6217d00) at svx/source/svdraw/svdorect.cxx:99
  ^#26 0x00007f41e6511024 in SdrUnoObj::~SdrUnoObj() (this=0x6217d00) at svx/source/svdraw/svdouno    m_xShapeAgg.clear();
.cxx:223
  ^#27 0x00007f41e5f56988 in FmFormObj::~FmFormObj() (this=0x6217d00) at svx/source/form/fmobj.cxx:119
  ^#28 0x00007f41e5f569d9 in FmFormObj::~FmFormObj() (this=0x6217d00) at svx/source/form/fmobj.cxx:112
  ^#29 0x00007f41e64145c6 in SdrObject::release() (this=0x6217d00) at svx/source/svdraw/svdobj.cxx:484
        x = 0
  ^#30 0x00007f41e62baf29 in rtl::Reference<SdrObject>::clear() (this=0x60e3e78) at include/rtl/ref.hxx:193
        pOld = 0x6217d00
  ^#31 0x00007f41e683ba73 in SvxShape::~SvxShape() (this=0x60e3ca8) at svx/source/unodraw/unoshape.cxx:197
        aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x1502140}, <No data fields>}
  ^#32 0x00007f41e685637a in SvxShapeText::~SvxShapeText() (this=0x60e3ca8) at svx/source/unodraw/unoshape.cxx:3852
  ^#33 0x00007f41e681ac5d in SvxShapeControl::~SvxShapeControl() (this=0x60e3ca0) at svx/source/unodraw/unoshap2.cxx:479
  ^#34 0x00007f41e681ace9 in SvxShapeControl::~SvxShapeControl() (this=0x60e3ca0) at svx/source/unodraw/unoshap2.cxx:478
  ^#35 0x00007f41ea9f7110 in cppu::OWeakObject::release() (this=0x60e3ca8) at cppuhelper/source/weak.cxx:230
  ^#36 0x00007f41ea9f7835 in cppu::OWeakAggObject::release() (this=0x60e3ca8) at cppuhelper/source/weak.cxx:292
        x = empty uno::Reference
  ^#37 0x00007f41e6731dd5 in cppu::WeakAggImplHelper12<com::sun::star::drawing::XShape, com::sun::star::lang::XComponent, com::sun::star::beans::XPropertySet, com::sun::star::beans::XMultiPropertySet, com::sun::star::beans::XPropertyState, com::sun::star::lang::XUnoTunnel, com::sun::star::container::XNamed, com::sun::star::drawing::XGluePointsSupplier, com::sun::star::container::XChild, com::sun::star::lang::XServiceInfo, com::sun::star::document::XActionLockable, com::sun::star::beans::XMultiPropertyStates>::release() (this=0x60e3ca8) at include/cppuhelper/implbase12.hxx:166
  ^#38 0x00007f41e6827885 in SvxShapeText::release() (this=0x60e3ca8) at include/svx/unoshape.hxx:358
  ^#39 0x00007f41e68270c9 in SvxShapeControl::release() (this=0x60e3ca0) at include/svx/unoshape.hxx:533
  ^#40 0x00007f41cbdb121e in com::sun::star::uno::Reference<com::sun::star::uno::XAggregation>::~Reference() (this=0x60b39a0) at include/com/sun/star/uno/Reference.hxx:114
  ^#41 0x00007f41cbd9f601 in SwXShape::~SwXShape() (this=0x60b3940) at sw/source/core/unocore/unodraw.cxx:974
        aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x1502140}, <No data fields>}
  ^#42 0x00007f41cbd9f699 in SwXShape::~SwXShape() (this=0x60b3940) at sw/source/core/unocore/unodraw.cxx:963
  ^#43 0x00007f41ea9f7110 in cppu::OWeakObject::release() (this=0x60b3940) at cppuhelper/source/weak.cxx:230
  ^#44 0x00007f41cbdb3485 in cppu::WeakImplHelper<com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertyState, com::sun::star::text::XTextContent, com::sun::star::lang::XServiceInfo, com::sun::star::lang::XUnoTunnel, com::sun::star::drawing::XShape>::release() (this=0x60b3940) at include/cppuhelper/implbase.hxx:115
  ^#45 0x00007f41d2748b6d in bridges::cpp_uno::shared::freeUnoInterfaceProxy(uno_ExtEnvironment*, void*) (pEnv=0x26d0dc0, pProxy=0x610fed0) at bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:42

Change-Id: Id129278ad720095d2ed77271ac2d47ba82ec32c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184199
Reviewed-by: Noel Grandin <[email protected]>
Tested-by: Jenkins
tdf-gerrit pushed a commit that referenced this pull request May 2, 2025
QWidgets may only be created in the GUI/main thread, and
that is what happens when processing the .ui file.

Therefore, ensure this is always run in the main thread.

One case observed where this was not the case was the crash
recovery dialog getting created after Impress had crashed
due to an assert being hit somewhere in the QtMultimedia
library in a non-main thread.

Backtrace:

    (gdb) bt
    #0  __GI_abort () at ./stdlib/abort.c:91
    #1  0x00007fe93850641d in qAbort () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:46
    #2  0x00007fe93854dd9a in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2140
    #3  0x00007fe938547004 in qt_message (msgType=QtFatalMsg, context=..., msg=0x7fe938ca8ed3 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fe8e27d6f30)
        at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:412
    #4  0x00007fe93854934d in QMessageLogger::fatal (this=0x7fe8e27d70d0, msg=0x7fe938ca8ed3 "ASSERT failure in %s: \"%s\", file %s, line %d") at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:901
    #5  0x00007fe9385064d3 in qt_assert_x
        (where=0x7fe936e5576a "QWidget", what=0x7fe936e5580b "Widgets must be created in the GUI thread.", file=0x7fe936e556b4 "/home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp", line=945)
        at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:115
    #6  0x00007fe93668477d in QWidgetPrivate::init (this=0x7fe88c19c3f0, parentWidget=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:944
    #7  0x00007fe9366845e6 in QWidget::QWidget (this=0x7fe88c003370, dd=..., parent=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:862
    #8  0x00007fe936a92cb5 in QDialog::QDialog (this=0x7fe88c003370, parent=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:375
    #9  0x00007fe93955ed73 in QtBuilder::makeObject (this=0x7fe88c0049f0, pParent=0x0, sName=u"GtkDialog", sType="", sID="DocRecoverySaveDialog", rMap=std::__debug::map with 7 elements = {...}) at vcl/qt6/../qt5/QtBuilder.cxx:213
    #10 0x00007fe93955e1a4 in QtBuilder::insertObject (this=0x7fe88c0049f0, pParent=0x0, rClass="GtkDialog", sType="", rID="DocRecoverySaveDialog", rProps=std::__debug::map with 7 elements = {...}) at vcl/qt6/../qt5/QtBuilder.cxx:109
    #11 0x00007fe9395742e5 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::handleObject (this=0x7fe88c0049f0, pParent=0x0, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:234
    #12 0x00007fe939572c16 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::handleChild (this=0x7fe88c0049f0, pParent=0x0, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131
    #13 0x00007fe939566468 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::processUIFile (this=0x7fe88c0049f0, pParent=0x0) at include/vcl/widgetbuilder.hxx:70
    #14 0x00007fe93955da70 in QtBuilder::QtBuilder (this=0x7fe88c0049f0, pParent=0x0, sUIRoot=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui")
        at vcl/qt6/../qt5/QtBuilder.cxx:66
    #15 0x00007fe9396117a7 in std::make_unique<QtBuilder, QWidget*&, std::basic_string_view<char16_t, std::char_traits<char16_t> >&, rtl::OUString const&>
        (__args=@0x7fe8e27d91a0: 0x0, __args=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", __args="svx/ui/docrecoverysavedialog.ui")
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077
    #16 0x00007fe93960ed69 in QtInstanceBuilder::QtInstanceBuilder
        (this=0x7fe88c0db2d0, pParent=0x0, sUIRoot=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui") at vcl/qt6/../qt5/QtInstanceBuilder.cxx:52
    #17 0x00007fe9395f55a8 in std::make_unique<QtInstanceBuilder, QWidget*&, rtl::OUString const&, rtl::OUString const&>
        (__args=@0x7fe8e27d92a0: 0x0, __args="file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", __args="svx/ui/docrecoverysavedialog.ui")
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077
    #18 0x00007fe9395ef490 in QtInstance::CreateBuilder (this=0x56149a5271a0, pParent=0x0, rUIRoot="file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui")
        at vcl/qt6/../qt5/QtInstance.cxx:916
    #19 0x00007fe9395ef52c in non-virtual thunk to QtInstance::CreateBuilder(weld::Widget*, rtl::OUString const&, rtl::OUString const&) () at /home/michi/development/git/libreoffice/instdir/program/libvclplug_qt6lo.so
    #20 0x00007fe94160079f in Application::CreateBuilder (pParent=0x0, rUIFile="svx/ui/docrecoverysavedialog.ui", bMobile=false, nLOKWindowId=0) at /home/michi/development/git/libreoffice/vcl/source/window/builder.cxx:204
    #21 0x00007fe94208901d in weld::GenericDialogController::GenericDialogController (this=0x7fe88c0095a0, pParent=0x0, rUIFile="svx/ui/docrecoverysavedialog.ui", rDialogId="DocRecoverySaveDialog", bMobile=false)
        at /home/michi/development/git/libreoffice/vcl/source/app/weldutils.cxx:53
    #22 0x00007fe945a1f83d in svx::DocRecovery::SaveDialog::SaveDialog (this=0x7fe88c0095a0, pParent=0x0, pCore=0x7fe88c0dafe0) at /home/michi/development/git/libreoffice/svx/source/dialog/docrecovery.cxx:574
    #23 0x00007fe945a35e25 in (anonymous namespace)::RecoveryUI::impl_doEmergencySave (this=0x7fe88c0d4010) at /home/michi/development/git/libreoffice/svx/source/unodraw/recoveryui.cxx:254
    #24 0x00007fe945a35b03 in (anonymous namespace)::RecoveryUI::dispatchWithReturnValue (this=0x7fe88c0d4010, aURL=...) at /home/michi/development/git/libreoffice/svx/source/unodraw/recoveryui.cxx:148
    #25 0x00007fe945a35ca4 in non-virtual thunk to (anonymous namespace)::RecoveryUI::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libsvxlo.so
    #26 0x00007fe94af24c4f in desktop::(anonymous namespace)::impl_callRecoveryUI (bEmergencySave=true, bExistsRecoveryData=false) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1057
    #27 0x00007fe94af248a1 in desktop::Desktop::Exception (this=0x7ffc5c0f5540, nCategory=ExceptionCategory::System) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1212
    #28 0x00007fe9420667fa in VCLExceptionSignal_impl (pInfo=0x7fe8e27d9d88) at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:178
    #29 0x00007fe94b2484aa in callSignalHandler (pInfo=0x7fe8e27d9d88) at /home/michi/development/git/libreoffice/sal/osl/all/signalshared.cxx:47
    #30 0x00007fe94b2dc3d3 in (anonymous namespace)::signalHandlerFunction (signal=6, info=0x7fe8e27d9fb0, context=0x7fe8e27d9e80) at /home/michi/development/git/libreoffice/sal/osl/unx/signal.cxx:423
    #31 0x00007fe94ac49df0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
    #32 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
    #33 0x00007fe94ac9e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #34 0x00007fe94ac49cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #35 0x00007fe94ac324ac in __GI_abort () at ./stdlib/abort.c:73
    #36 0x00007fe93850641d in qAbort () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:46
    #37 0x00007fe93854dd9a in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2140
    #38 0x00007fe938547004 in qt_message (msgType=QtFatalMsg, context=..., msg=0x7fe938ca8eb2 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fe8e27dae30) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:412
    #39 0x00007fe93854934d in QMessageLogger::fatal (this=0x7fe8e27dafd8, msg=0x7fe938ca8eb2 "ASSERT: \"%s\" in file %s, line %d") at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:901
    #40 0x00007fe93850646b in qt_assert (assertion=0x7fe935abd3d7 "subject == PW_ID_CORE", file=0x7fe935abcca8 "/home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp", line=267)
        at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:106
    #41 0x00007fe9359e3b3c in QtPipeWire::QAudioContextManager::startListenDefaultMetadata(QtPipeWire::StrongIdType<unsigned int, QtPipeWire::ObjectIdTag>, unsigned int)::$_0::operator()(void*, unsigned int, char const*, char const*, char const*) const
        (this=0x7fe8e27db0c7, data=0x7fe935c05d10 <QGlobalStatic<QtGlobalStatic::Holder<QtPipeWire::(anonymous namespace)::Q_QGS_s_audioContextInstance> >::instance()::holder>, subject=113, key=0x5614a39ce960 "target.node", type=0x5614a39ce978 "Spa:Id", value=0x5614a39ce988 "-1") at /home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp:267
    #42 0x00007fe9359e2ce8 in QtPipeWire::QAudioContextManager::startListenDefaultMetadata(QtPipeWire::StrongIdType<unsigned int, QtPipeWire::ObjectIdTag>, unsigned int)::$_0::__invoke(void*, unsigned int, char const*, char const*, char const*)
        (data=0x7fe935c05d10 <QGlobalStatic<QtGlobalStatic::Holder<QtPipeWire::(anonymous namespace)::Q_QGS_s_audioContextInstance> >::instance()::holder>, subject=113, key=0x5614a39ce960 "target.node", type=0x5614a39ce978 "Spa:Id", value=0x5614a39ce988 "-1") at /home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp:265
    #43 0x00007fe8f1574054 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so
    #44 0x00007fe8f0d61671 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
    #45 0x00007fe8f0d61e08 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
    #46 0x00007fe8f2dd5c46 in ??? () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
    #47 0x00007fe935347b55 in ??? () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0
    #48 0x00007fe94ac9cb7b in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448
    #49 0x00007fe94ad1a7b8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Change-Id: I5f9f1f82d8ca76a50872d0b81b67059f78d413fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184896
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request May 9, 2025
...as seen during CppunitTest_sd_font_embedding_tests,

> src/EOT.c:15:68: runtime error: left shift of 160 by 24 places cannot be represented in type 'int'
>     #0 0x7f0b39e71791 in EOTreadU32LE (/instdir/program/libvcllo.so+0xbbb0791)
>     #1 0x7f0b39e73882 in EOTfillMetadataSpecifyingVersion (/instdir/program/libvcllo.so+0xbbb2882)
>     #2 0x7f0b39e754a6 in EOTfillMetadata (/instdir/program/libvcllo.so+0xbbb44a6)
>     #3 0x7f0b39e7129e in EOT2ttf_buffer (/instdir/program/libvcllo.so+0xbbb029e)
>     #4 0x7f0b35eb77d9 in EmbeddedFontsHelper::addEmbeddedFont(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t> >, std::__debug::vector<unsigned char, std::allocator<unsigned char> > const&, bool, bool) /vcl/source/gdi/embeddedfontshelper.cxx:120:13
>     #5 0x7f0acf649034 in oox::ppt::EmbeddedFontListContext::onEndElement() /oox/source/ppt/EmbeddedFontListContext.cxx:96:30
>     #6 0x7f0ace1879d4 in oox::core::ContextHandler2Helper::implEndElement(int) /oox/source/core/contexthandler2.cxx:124:9
>     #7 0x7f0ace2287c6 in oox::core::FragmentHandler2::endFastElement(int) /oox/source/core/fragmenthandler2.cxx:91:5
>     #8 0x7f0b07f340ca in (anonymous namespace)::Entity::endElement() /sax/source/fastparser/fastparser.cxx:515:27
>     #9 0x7f0b07f33a98 in sax_fastparser::FastSaxParserImpl::callbackEndElement() /sax/source/fastparser/fastparser.cxx:1340:17
>     #10 0x7f0b07f23a24 in (anonymous namespace)::call_callbackEndElement(void*, unsigned char const*, unsigned char const*, unsigned char const*) /sax/source/fastparser/fastparser.cxx:339:18
>     #11 0x7f0b4391eb84 in xmlParseEndTag2 /workdir/UnpackedTarball/libxml2/parser.c:9632:2
>     #12 0x7f0b438d0124 in xmlParseTryOrFinish /workdir/UnpackedTarball/libxml2/parser.c:11374:14
>     #13 0x7f0b438c4f6c in xmlParseChunk /workdir/UnpackedTarball/libxml2/parser.c:11640:5
>     #14 0x7f0b07f1e811 in sax_fastparser::FastSaxParserImpl::parse() /sax/source/fastparser/fastparser.cxx:1091:21
>     #15 0x7f0b07f18318 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:895:9
>     #16 0x7f0b07f39a50 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1479:13
>     #17 0x7f0ace1b2541 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     #18 0x7f0ace1b2cd8 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     #19 0x7f0ace2871ce in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:421:21
>     #20 0x7f0ace285a1d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:351:12
>     #21 0x7f0acf65bbb2 in oox::ppt::PowerPointImport::importDocument() /oox/source/ppt/pptimport.cxx:109:17
>     #22 0x7f0ace1c54ab in oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/core/filterbase.cxx:486:49
>     #23 0x7f0acf65f687 in oox::ppt::PowerPointImport::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/ppt/pptimport.cxx:214:24
>     #24 0x7f0af938ff1a in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sfx2/source/doc/objstor.cxx:2685:34
>     #25 0x7f0b01e1acd1 in sd::DrawDocShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sd/source/ui/docshell/docshel4.cxx:458:39
>     #26 0x7f0af9342ab1 in SfxObjectShell::DoLoad(SfxMedium*) /sfx2/source/doc/objstor.cxx:768:23
>     #27 0x7f0af95d3e84 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sfx2/source/doc/sfxbasemodel.cxx:1986:36
>     #28 0x7f0af9e36f00 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) /sfx2/source/view/frmload.cxx:771:28
>     #29 0x7f0ac5b19f36 in framework::LoadEnv::impl_loadContent() /framework/source/loadenv/loadenv.cxx:1180:37
>     #30 0x7f0ac5b10dd2 in framework::LoadEnv::start() /framework/source/loadenv/loadenv.cxx:415:20
>     #31 0x7f0ac5b09292 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) /framework/source/loadenv/loadenv.cxx:311:5
>     #32 0x7f0ac5b04674 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/loadenv/loadenv.cxx:167:14
>     #33 0x7f0ac5bd9348 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx:594:16
>     #34 0x7f0ac5bd96c6 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&) /framework/source/services/desktop.cxx
>     #35 0x7f0adc8e6a09 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /unotest/source/cpp/macros_test.cxx:72:62
>     #36 0x7f0af3eb9f62 in UnoApiTest::loadWithParams(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /test/source/unoapi_test.cxx:125:19
>     #37 0x7f0af3eb9098 in UnoApiTest::loadFromURL(rtl::OUString const&, char const*) /test/source/unoapi_test.cxx:107:5
>     #38 0x7f0af3eba994 in UnoApiTest::loadFromFile(std::basic_string_view<char16_t, std::char_traits<char16_t> >, char const*) /test/source/unoapi_test.cxx:132:5
>     #39 0x7f0b0e518798 in SdModelTestBase::createSdImpressDoc(char const*, char const*) /sd/qa/unit/sdmodeltestbase.hxx:54:13
>     #40 0x7f0b0e50fa7d in testRoundtripEmbeddedFontsPPTX::TestBody() /sd/qa/unit/FontEmbeddingTest.cxx:49:5

(<https://ci.libreoffice.org/job/lo_ubsan/3555/>)

Change-Id: I0fed461981c812a10ee88ea44629afe6c76525ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185086
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request May 10, 2025
Ensure that the QMimeData subclass set for the QDrag used
for drag and drop reports at least one supported MIME type.
Report a dummy "application/x.libreoffice-internal-drag-and-drop"
one if there is no other one.
(The string used for the MIME type is of no particular meaning,
any value would do.)

This prevents the issue seen with qt6 on Wayland that a
drag and drop operation is cancelled when no formats/MIME types
are reported.

The "wl_data_offer" Wayland protocol [1] is probably relevant
here:

> A wl_data_offer represents a piece of data offered for transfer by
> another client (the source client). It is used by the copy-and-paste and
> drag-and-drop mechanisms. The offer describes the different mime types
> that the data can be converted to and provides the mechanism for
> transferring the data directly from the source client.
>
> (...)
>
> For objects of version 3 or newer, this request determines the final
> result of the drag-and-drop operation. If the end result is that no mime
> types were accepted, the drag-and-drop operation will be cancelled and
> the corresponding drag source will receive wl_data_source.cancelled.

(Further analysis on Qt and Wayland library/protocol level
might give more insights, but this is sufficient at least for now.)

Example backtrace for how QtWaylandClient::QWaylandDrag::cancel
(in Qt's qtwayland module) got called previously when releasing
the mouse after dragging a slide to a different position in
the Impress slide sorter (on Debian testing in a Plasma Wayland
session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev):

    Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    49          QBasicDrag::cancel();
    (gdb) bt
    #0  QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    #1  0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109
    #2  0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101
    #3  0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316
    #4  0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #5  0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #6  0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #7  0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #8  0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #9  0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241
    #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301
    #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143
    #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41
    #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770
    #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8
    #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228
    #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113
    #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520
    #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104
    #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186
    #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176
    #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81
    #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248
    #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8)
        at vcl/qt6/../qt5/QtDragAndDrop.cxx:54
    #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76
    #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050
    #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499
    #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596
    #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660
    #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler
        (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396
    #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661
    #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947
    #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102
    #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847
    #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640
    #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623
    #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335
    #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700
    #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248
    #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693
    #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330
    #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663
    #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310
    #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235
    #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135
    #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969
    #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513
    #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788
    #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent
        (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
        at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369
    #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669
    #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292
    #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480
    #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204
    #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521
    #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501
    #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512
    #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680
    #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231
    #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249
    #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

[1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer

Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request May 14, 2025
Ensure that the QMimeData subclass set for the QDrag used
for drag and drop reports at least one supported MIME type.
Report a dummy "application/x.libreoffice-internal-drag-and-drop"
one if there is no other one.
(The string used for the MIME type is of no particular meaning,
any value would do.)

This prevents the issue seen with qt6 on Wayland that a
drag and drop operation is cancelled when no formats/MIME types
are reported.

The "wl_data_offer" Wayland protocol [1] is probably relevant
here:

> A wl_data_offer represents a piece of data offered for transfer by
> another client (the source client). It is used by the copy-and-paste and
> drag-and-drop mechanisms. The offer describes the different mime types
> that the data can be converted to and provides the mechanism for
> transferring the data directly from the source client.
>
> (...)
>
> For objects of version 3 or newer, this request determines the final
> result of the drag-and-drop operation. If the end result is that no mime
> types were accepted, the drag-and-drop operation will be cancelled and
> the corresponding drag source will receive wl_data_source.cancelled.

(Further analysis on Qt and Wayland library/protocol level
might give more insights, but this is sufficient at least for now.)

Example backtrace for how QtWaylandClient::QWaylandDrag::cancel
(in Qt's qtwayland module) got called previously when releasing
the mouse after dragging a slide to a different position in
the Impress slide sorter (on Debian testing in a Plasma Wayland
session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev):

    Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    49          QBasicDrag::cancel();
    (gdb) bt
    #0  QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    #1  0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109
    #2  0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101
    #3  0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316
    #4  0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #5  0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #6  0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #7  0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #8  0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #9  0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241
    #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301
    #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143
    #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41
    #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770
    #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8
    #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228
    #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113
    #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520
    #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104
    #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186
    #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176
    #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81
    #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248
    #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8)
        at vcl/qt6/../qt5/QtDragAndDrop.cxx:54
    #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76
    #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050
    #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499
    #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596
    #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660
    #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler
        (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396
    #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661
    #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947
    #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102
    #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847
    #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640
    #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623
    #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335
    #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700
    #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248
    #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693
    #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330
    #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663
    #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310
    #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235
    #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135
    #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969
    #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513
    #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788
    #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent
        (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
        at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369
    #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669
    #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292
    #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480
    #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204
    #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521
    #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501
    #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512
    #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680
    #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231
    #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249
    #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

[1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer

Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit 479dd32)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185139
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jun 10, 2025
Ensure that the QMimeData subclass set for the QDrag used
for drag and drop reports at least one supported MIME type.
Report a dummy "application/x.libreoffice-internal-drag-and-drop"
one if there is no other one.
(The string used for the MIME type is of no particular meaning,
any value would do.)

This prevents the issue seen with qt6 on Wayland that a
drag and drop operation is cancelled when no formats/MIME types
are reported.

The "wl_data_offer" Wayland protocol [1] is probably relevant
here:

> A wl_data_offer represents a piece of data offered for transfer by
> another client (the source client). It is used by the copy-and-paste and
> drag-and-drop mechanisms. The offer describes the different mime types
> that the data can be converted to and provides the mechanism for
> transferring the data directly from the source client.
>
> (...)
>
> For objects of version 3 or newer, this request determines the final
> result of the drag-and-drop operation. If the end result is that no mime
> types were accepted, the drag-and-drop operation will be cancelled and
> the corresponding drag source will receive wl_data_source.cancelled.

(Further analysis on Qt and Wayland library/protocol level
might give more insights, but this is sufficient at least for now.)

Example backtrace for how QtWaylandClient::QWaylandDrag::cancel
(in Qt's qtwayland module) got called previously when releasing
the mouse after dragging a slide to a different position in
the Impress slide sorter (on Debian testing in a Plasma Wayland
session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev):

    Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    49          QBasicDrag::cancel();
    (gdb) bt
    #0  QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49
    #1  0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109
    #2  0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101
    #3  0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316
    #4  0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #5  0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #6  0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #7  0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)
        (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #8  0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #9  0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241
    #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301
    #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143
    #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41
    #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770
    #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8
    #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8
    #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0
    #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228
    #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113
    #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520
    #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104
    #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186
    #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176
    #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81
    #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248
    #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8)
        at vcl/qt6/../qt5/QtDragAndDrop.cxx:54
    #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76
    #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050
    #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499
    #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596
    #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660
    #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler
        (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396
    #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&>
        (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661
    #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...})
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947
    #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102
    #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847
    #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640
    #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...)
        at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623
    #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335
    #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700
    #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248
    #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693
    #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330
    #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663
    #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310
    #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235
    #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135
    #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969
    #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513
    #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788
    #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent
        (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
        at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369
    #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669
    #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292
    #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564
    #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480
    #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204
    #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521
    #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)
        (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620
    #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429
    #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311
    #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261
    #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110
    #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550
    #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890
    #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
    #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501
    #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512
    #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680
    #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231
    #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249
    #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

[1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer

Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit 479dd32)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185139
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jun 30, 2025
For the gtk3 VCL plugin, calling weld::DrawingArea::set_size_request
can trigger the creation of the corresponding a11y object,
which wants to access the drawing area to determine its states.

Therefore, call the base class implementation to set the
drawing area right at the start of IMapWindow::SetDrawingArea,
as is done elsewhere (e.g. in CuiGraphicPreviewWindow::SetDrawingArea).

This fixes a crash with the below backtrace seen after

    commit 62b8ebe
    Author: Michael Weghorn <[email protected]>
    Date:   Wed Feb 12 13:15:52 2025 +0100

        GraphCtrl a11y: Use comphelper::OAccessibleComponentHelper

when opening the "Tools" -> "ImageMap" dialog in Impress or Writer
with the gtk3 VCL plugin.

        Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault.
    0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67
    67          bool HasFocus() const { return m_pDrawingArea->has_focus(); }
    (gdb) bt
    #0  0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67
    #1  0x00007ffff24ada4a in SvxGraphCtrlAccessibleContext::getAccessibleStateSet (this=0x555558db29c0) at /home/michi/development/git/libreoffice/svx/source/accessibility/GraphCtlAccessibleContext.cxx:256
    #2  0x00007fffe62582d8 in atk_object_wrapper_new (rxAccessible=uno::Reference to (SvxGraphCtrlAccessibleContext *) 0x555558db2a10, parent=0x5555598c69a0, orig=0x555558dd9210)
        at /home/michi/development/git/libreoffice/vcl/unx/gtk3/a11y/atkwrapper.cxx:974
    #3  0x00007fffe62b15c4 in (anonymous namespace)::GtkInstanceDrawingArea::GetAtkObject (this=0x555558f99f60, pDefaultAccessible=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18964
    #4  0x00007fffe62b14ea in (anonymous namespace)::drawing_area_get_accessible (pWidget=0x55555d7192f0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:23966
    #5  0x00007fffe5c131b5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0
    #6  0x00007ffff09b4950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #7  0x00007ffff09c8d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #8  0x00007ffff09ca769 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #9  0x00007ffff09d05a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #10 0x00007ffff09d0663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #11 0x00007ffff09b8b14 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #12 0x00007ffff09ba767 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #13 0x00007fffe62985f3 in (anonymous namespace)::GtkInstanceWidget::set_size_request (this=0x555558f99f60, nWidth=608, nHeight=383) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:3625
    #14 0x00007ffff2617c53 in IMapWindow::SetDrawingArea (this=0x55555d7068e0, pDrawingArea=0x555558f9a210) at /home/michi/development/git/libreoffice/svx/source/dialog/imapwnd.cxx:92
    #15 0x00007fffee96f280 in weld::CustomWeld::CustomWeld (this=0x5555598c6520, rBuilder=..., rDrawingId="container", rWidgetController=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:28
    #16 0x00007ffff260c4b7 in SvxIMapDlg::SvxIMapDlg (this=0x555558838180, _pBindings=0x555556aadbd0, pCW=0x55555d6f5530, _pParent=0x55555d723e28) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:118
    #17 0x00007ffff2616b46 in std::_Construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #18 0x00007ffff2616775 in std::allocator_traits<std::allocator<void> >::construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #19 std::_Sp_counted_ptr_inplace<SvxIMapDlg, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x555558838170, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #20 0x00007ffff26164ff in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SvxIMapDlg, std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4158, __p=@0x7fffffff4150: 0x0, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #21 0x00007ffff261642c in std::__shared_ptr<SvxIMapDlg, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #22 0x00007ffff26163aa in std::shared_ptr<SvxIMapDlg>::shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #23 0x00007ffff2612a49 in std::make_shared<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #24 0x00007ffff260bb7c in SvxIMapDlgChildWindow::SvxIMapDlgChildWindow (this=0x55555d6f5530, _pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8)
        at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:89
    #25 0x00007ffff261290c in std::make_unique<SvxIMapDlgChildWindow, vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&>
        (__args=@0x7fffffff4230: 0x5555576ad680, __args=@0x7fffffff422e: 10371, __args=@0x7fffffff4220: 0x555556aadbd0, __args=@0x7fffffff4218: 0x7fffffff43e8)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077
    #26 0x00007ffff260b704 in SvxIMapDlgChildWindow::CreateImpl (pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:59
    #27 0x00007ffff38c3b6f in SfxChildWindow::CreateChildWindow (nId=10371, pParent=0x5555576ad680, pBindings=0x555556aadbd0, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:242
    #28 0x00007ffff395f5bd in SfxWorkWindow::CreateChildWin_Impl (this=0x5555571433b0, pCW=0x55555864a020, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
    #29 0x00007ffff3961853 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x5555571433b0, nId=10371, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835
    #30 0x00007ffff403ba89 in SfxViewFrame::ToggleChildWindow (this=0x555557128f90, nId=10371) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3695
    #31 0x00007fffbb6290d4 in sd::DrawViewShell::FuTemporary (this=0x55555728c010, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews2.cxx:3893
    #32 0x00007fffbb6949b5 in SfxStubDrawViewShellFuTemporary (pShell=0x55555728c010, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1551
    #33 0x00007ffff39c8d1e in SfxDispatcher::Call_Impl (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #34 0x00007ffff39cd5d6 in SfxDispatcher::Execute_ (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755
    #35 0x00007ffff39b59ee in SfxBindings::Execute_Impl (this=0x555556aadbd0, aReq=..., pSlot=0x7fffbb7c6270 <aDrawViewShellSlots_Impl+14400>, pShell=0x55555728c010)
        at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1046
    #36 0x00007ffff3a95e2d in SfxDispatchController_Impl::dispatch (this=0x555557e27950, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736
    #37 0x00007ffff3a948e4 in SfxOfficeDispatch::dispatch (this=0x555557e278b0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255
    #38 0x00007ffff4f0bd04 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x5555588c6000) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:790
    #39 0x00007fffee275a41 in Link<void*, void>::Call (this=0x55555d70f598, data=0x5555588c6000) at include/tools/link.hxx:105
    #40 0x00007fffee271c71 in ImplHandleUserEvent (pSVEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    #41 0x00007fffee26eb9f in ImplWindowFrameProc (_pWindow=0x555556ba6530, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    #42 0x00007fffeee4638c in SalFrame::CallCallback (this=0x5555569908a0, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at vcl/inc/salframe.hxx:310
    #43 0x00007fffeee6ed1f in SalGenericDisplay::ProcessEvent (this=0x5555568f8ef0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #44 0x00007fffee97966d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #45 0x00007fffee97953b in SalUserEventList::DispatchUserEvents (this=0x5555568f8ef0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #46 0x00007fffeee6ec75 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568f8ef0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #47 0x00007fffe62891ef in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:827
    #48 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #49 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #50 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #51 0x00007fffe6287e6c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405
    #52 0x00007fffe628cf13 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439
    #53 0x00007fffeea45406 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #54 0x00007fffeea44d1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #55 0x00007fffeea44b00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #56 0x00007ffff7b29455 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #57 0x00007fffeea6f1b6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #58 0x00007fffeea70ca9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #59 0x00007ffff7ba387a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #60 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #61 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I9488a66c1512e41b37bcea0d4bb25a6733884976
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187162
Reviewed-by: Michael Weghorn <[email protected]>
Tested-by: Jenkins
tdf-gerrit pushed a commit that referenced this pull request Jun 30, 2025
For the gtk3 VCL plugin, calling weld::DrawingArea::set_size_request
can trigger the creation of the corresponding a11y object,
which wants to access the drawing area to determine its states.

Therefore, call the base class implementation to set the
drawing area right at the start of IMapWindow::SetDrawingArea,
as is done elsewhere (e.g. in CuiGraphicPreviewWindow::SetDrawingArea).

This fixes a crash with the below backtrace seen after

    commit 62b8ebe
    Author: Michael Weghorn <[email protected]>
    Date:   Wed Feb 12 13:15:52 2025 +0100

        GraphCtrl a11y: Use comphelper::OAccessibleComponentHelper

when opening the "Tools" -> "ImageMap" dialog in Impress or Writer
with the gtk3 VCL plugin.

        Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault.
    0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67
    67          bool HasFocus() const { return m_pDrawingArea->has_focus(); }
    (gdb) bt
    #0  0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67
    #1  0x00007ffff24ada4a in SvxGraphCtrlAccessibleContext::getAccessibleStateSet (this=0x555558db29c0) at /home/michi/development/git/libreoffice/svx/source/accessibility/GraphCtlAccessibleContext.cxx:256
    #2  0x00007fffe62582d8 in atk_object_wrapper_new (rxAccessible=uno::Reference to (SvxGraphCtrlAccessibleContext *) 0x555558db2a10, parent=0x5555598c69a0, orig=0x555558dd9210)
        at /home/michi/development/git/libreoffice/vcl/unx/gtk3/a11y/atkwrapper.cxx:974
    #3  0x00007fffe62b15c4 in (anonymous namespace)::GtkInstanceDrawingArea::GetAtkObject (this=0x555558f99f60, pDefaultAccessible=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18964
    #4  0x00007fffe62b14ea in (anonymous namespace)::drawing_area_get_accessible (pWidget=0x55555d7192f0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:23966
    #5  0x00007fffe5c131b5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0
    #6  0x00007ffff09b4950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #7  0x00007ffff09c8d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #8  0x00007ffff09ca769 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #9  0x00007ffff09d05a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #10 0x00007ffff09d0663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #11 0x00007ffff09b8b14 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #12 0x00007ffff09ba767 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #13 0x00007fffe62985f3 in (anonymous namespace)::GtkInstanceWidget::set_size_request (this=0x555558f99f60, nWidth=608, nHeight=383) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:3625
    #14 0x00007ffff2617c53 in IMapWindow::SetDrawingArea (this=0x55555d7068e0, pDrawingArea=0x555558f9a210) at /home/michi/development/git/libreoffice/svx/source/dialog/imapwnd.cxx:92
    #15 0x00007fffee96f280 in weld::CustomWeld::CustomWeld (this=0x5555598c6520, rBuilder=..., rDrawingId="container", rWidgetController=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:28
    #16 0x00007ffff260c4b7 in SvxIMapDlg::SvxIMapDlg (this=0x555558838180, _pBindings=0x555556aadbd0, pCW=0x55555d6f5530, _pParent=0x55555d723e28) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:118
    #17 0x00007ffff2616b46 in std::_Construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #18 0x00007ffff2616775 in std::allocator_traits<std::allocator<void> >::construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #19 std::_Sp_counted_ptr_inplace<SvxIMapDlg, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x555558838170, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #20 0x00007ffff26164ff in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SvxIMapDlg, std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4158, __p=@0x7fffffff4150: 0x0, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #21 0x00007ffff261642c in std::__shared_ptr<SvxIMapDlg, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #22 0x00007ffff26163aa in std::shared_ptr<SvxIMapDlg>::shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*>
        (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #23 0x00007ffff2612a49 in std::make_shared<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #24 0x00007ffff260bb7c in SvxIMapDlgChildWindow::SvxIMapDlgChildWindow (this=0x55555d6f5530, _pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8)
        at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:89
    #25 0x00007ffff261290c in std::make_unique<SvxIMapDlgChildWindow, vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&>
        (__args=@0x7fffffff4230: 0x5555576ad680, __args=@0x7fffffff422e: 10371, __args=@0x7fffffff4220: 0x555556aadbd0, __args=@0x7fffffff4218: 0x7fffffff43e8)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077
    #26 0x00007ffff260b704 in SvxIMapDlgChildWindow::CreateImpl (pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:59
    #27 0x00007ffff38c3b6f in SfxChildWindow::CreateChildWindow (nId=10371, pParent=0x5555576ad680, pBindings=0x555556aadbd0, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:242
    #28 0x00007ffff395f5bd in SfxWorkWindow::CreateChildWin_Impl (this=0x5555571433b0, pCW=0x55555864a020, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
    #29 0x00007ffff3961853 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x5555571433b0, nId=10371, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835
    #30 0x00007ffff403ba89 in SfxViewFrame::ToggleChildWindow (this=0x555557128f90, nId=10371) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3695
    #31 0x00007fffbb6290d4 in sd::DrawViewShell::FuTemporary (this=0x55555728c010, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews2.cxx:3893
    #32 0x00007fffbb6949b5 in SfxStubDrawViewShellFuTemporary (pShell=0x55555728c010, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1551
    #33 0x00007ffff39c8d1e in SfxDispatcher::Call_Impl (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #34 0x00007ffff39cd5d6 in SfxDispatcher::Execute_ (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755
    #35 0x00007ffff39b59ee in SfxBindings::Execute_Impl (this=0x555556aadbd0, aReq=..., pSlot=0x7fffbb7c6270 <aDrawViewShellSlots_Impl+14400>, pShell=0x55555728c010)
        at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1046
    #36 0x00007ffff3a95e2d in SfxDispatchController_Impl::dispatch (this=0x555557e27950, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736
    #37 0x00007ffff3a948e4 in SfxOfficeDispatch::dispatch (this=0x555557e278b0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255
    #38 0x00007ffff4f0bd04 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x5555588c6000) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:790
    #39 0x00007fffee275a41 in Link<void*, void>::Call (this=0x55555d70f598, data=0x5555588c6000) at include/tools/link.hxx:105
    #40 0x00007fffee271c71 in ImplHandleUserEvent (pSVEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    #41 0x00007fffee26eb9f in ImplWindowFrameProc (_pWindow=0x555556ba6530, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    #42 0x00007fffeee4638c in SalFrame::CallCallback (this=0x5555569908a0, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at vcl/inc/salframe.hxx:310
    #43 0x00007fffeee6ed1f in SalGenericDisplay::ProcessEvent (this=0x5555568f8ef0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #44 0x00007fffee97966d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #45 0x00007fffee97953b in SalUserEventList::DispatchUserEvents (this=0x5555568f8ef0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #46 0x00007fffeee6ec75 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568f8ef0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #47 0x00007fffe62891ef in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:827
    #48 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #49 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #50 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #51 0x00007fffe6287e6c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405
    #52 0x00007fffe628cf13 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439
    #53 0x00007fffeea45406 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #54 0x00007fffeea44d1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #55 0x00007fffeea44b00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #56 0x00007ffff7b29455 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #57 0x00007fffeea6f1b6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #58 0x00007fffeea70ca9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #59 0x00007ffff7ba387a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #60 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #61 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I9488a66c1512e41b37bcea0d4bb25a6733884976
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187162
Reviewed-by: Michael Weghorn <[email protected]>
Tested-by: Jenkins
(cherry picked from commit fdffaac)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187190
Reviewed-by: Xisco Fauli <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jul 5, 2025
Since

    commit 380bd85
    Date:   Tue Jun 24 11:21:04 2025 +0200

        [API CHANGE] remove css::drawing::framework::XView

, starting an Impress presentation in a dual screen setup
with presenter console enabled, then existing the presentation
resulted in a deadlock with the below backtrace, because
WeakComponentImplHelperBase::dispose (frame 9)
locks the base class's UnoImplBase::m_aMutex and then
sdext::presenter::PresenterSlideShowView::disposing (frame 8)
tries to lock it again.

Use the existing lock passed as a method param and pass it
down to the called methods instead. Add an assert
it is actually a lock for the correct mutex.

    #0  futex_wait (futex_word=0x55555d5afb70, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146
    #1  __GI___lll_lock_wait (futex=futex@entry=0x55555d5afb70, private=0) at ./nptl/lowlevellock.c:49
    #2  0x00007ffff789ff72 in lll_mutex_lock_optimized (mutex=0x55555d5afb70) at ./nptl/pthread_mutex_lock.c:48
    #3  ___pthread_mutex_lock (mutex=0x55555d5afb70) at ./nptl/pthread_mutex_lock.c:93
    #4  0x00007fffc768849f in __gthread_mutex_lock (__mutex=0x55555d5afb70) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:762
    #5  0x00007fffc7693185 in std::mutex::lock (this=0x55555d5afb70) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_mutex.h:113
    #6  0x00007fffc7693154 in std::unique_lock<std::mutex>::lock (this=0x7fffffff8838) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:147
    #7  0x00007fffc768b068 in std::unique_lock<std::mutex>::unique_lock (this=0x7fffffff8838, __m=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:73
    #8  0x00007fffc76f408c in sdext::presenter::PresenterSlideShowView::disposing (this=0x55555d5afa10) at /home/michi/development/git/libreoffice/sd/source/console/PresenterSlideShowView.cxx:186
    #9  0x00007ffff6134bb0 in comphelper::WeakComponentImplHelperBase::dispose (this=0x55555d5afa10) at /home/michi/development/git/libreoffice/comphelper/source/misc/compbase.cxx:26
    #10 0x00007fffc76a4885 in comphelper::WeakComponentImplHelper<>::dispose() (this=0x55555d5afa10) at include/comphelper/compbase.hxx:78
    #11 0x00007fffc7783b71 in sdext::presenter::PresenterViewFactory::releaseResource (this=0x55555d649400, rxView=rtl::Reference to 0x55555d5afa10) at /home/michi/development/git/libreoffice/sd/source/console/PresenterViewFactory.cxx:229
    #12 0x00007fffbb192dec in sd::framework::ConfigurationControllerResourceManager::DeactivateResource (this=0x555557655ca0, rxResourceId=rtl::Reference to 0x55555d6492f0, rxConfiguration=rtl::Reference to 0x555556a598e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:203
    #13 0x00007fffbb193814 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=0x7fffffff9290, xResource=rtl::Reference to 0x55555d6492f0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:90
    #14 0x00007fffbb192a9b 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/14/../../../../include/c++/14/bits/stl_algo.h:3786
    #15 0x00007fffbb192844 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources
        (this=0x555557655ca0, rResources=std::__debug::vector of length 7, capacity 7 = {...}, rxConfiguration=rtl::Reference to 0x555556a598e0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:86
    #16 0x00007fffbb19a50e in sd::framework::ConfigurationUpdater::UpdateCore (this=0x555557657360, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:250
    #17 0x00007fffbb199afc in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x555557657360) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161
    #18 0x00007fffbb19957b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x555557657360, rxRequestedConfiguration=rtl::Reference to 0x555556a5a320)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108
    #19 0x00007fffbb16d349 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x555557657f30) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158
    #20 0x00007fffbb16cd9f in sd::framework::ChangeRequestQueueProcessor::ProcessEvent (this=0x555557657f30) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:115
    #21 0x00007fffbb16cd4d in sd::framework::ChangeRequestQueueProcessor::LinkStubProcessEvent (instance=0x555557657f30, data=0x0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:109
    #22 0x00007fffee275c21 in Link<void*, void>::Call (this=0x55555880a688, data=0x0) at include/tools/link.hxx:105
    #23 0x00007fffee271e51 in ImplHandleUserEvent (pSVEvent=0x55555880a680) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    #24 0x00007fffee26ed7f in ImplWindowFrameProc (_pWindow=0x5555569e6b00, nEvent=SalEvent::UserEvent, pEvent=0x55555880a680) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    #25 0x00007fffeee478bc in SalFrame::CallCallback (this=0x55555688b5d0, nEvent=SalEvent::UserEvent, pEvent=0x55555880a680) at vcl/inc/salframe.hxx:310
    #26 0x00007fffeee7021f in SalGenericDisplay::ProcessEvent (this=0x5555568a4060, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #27 0x00007fffee97bd7d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #28 0x00007fffee97bc4b in SalUserEventList::DispatchUserEvents (this=0x5555568a4060, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #29 0x00007fffeee70175 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568a4060, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #30 0x00007fffe628460f in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825
    #31 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #32 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #33 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #34 0x00007fffe628328c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:403
    #35 0x00007fffe6288333 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439
    #36 0x00007fffeea47b16 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #37 0x00007fffeea4742f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #38 0x00007fffeea47210 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #39 0x00007ffff7b297a5 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #40 0x00007fffeea71846 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #41 0x00007fffeea73339 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #42 0x00007ffff7ba40ba in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #43 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #44 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I2f0cc4db777c3e6e2db3d2ec7756bc89f43f0093
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187436
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jul 25, 2025
This fixes an assert seen in a WIP branch to support the
"Manage Changes" dialog when the dialog was open in the
previous run when LO crashed, and then restarting LO.

Also add an assert that this is running in the main thread.

Backtrace:

    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
    #1  0x00007fa78409e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007fa784049cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007fa7840324ac in __GI_abort () at ./stdlib/abort.c:73
    #4  0x00007fa784032420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118
    #5  0x00007fa77b38413c in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36
    #6  0x00007fa78252be74 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54
    #7  0x00007fa77ac6732b in vcl::WindowOutputDevice::AcquireGraphics (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:819
    #8  0x00007fa77ae68d7b in OutputDevice::ImplIsAntiparallel (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/outdev/outdev.cxx:614
    #9  0x00007fa77aba212f in vcl::Window::GetPointerPosPixel (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:548
    #10 0x00007fa77aba2030 in vcl::Window::ImplTestMousePointerSet (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:90
    #11 0x00007fa77aba47bb in vcl::Window::EnterWait (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:613
    #12 0x00007fa7476b98d7 in SwWait::EnterWaitAndLockDispatcher (this=0x7ffe7c5985d8) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:47
    #13 0x00007fa7476b9864 in SwWait::SwWait (this=0x7ffe7c5985d8, rDocShell=..., bLockUnlockDispatcher=false) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:34
    #14 0x00007fa7478a051b in SwModelessRedlineAcceptDlg::Activate (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sw/source/uibase/misc/redlndlg.cxx:95
    #15 0x00007fa7804e12f5 in SfxDialogController::FocusChangeHdl (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:114
    #16 0x00007fa7804e129d in SfxDialogController::LinkStubFocusChangeHdl (instance=0x55f1689d4140, data=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:111
    #17 0x00007fa772af7211 in Link<weld::Container&, void>::Call (this=0x55f168a187d0, data=...) at include/tools/link.hxx:105
    #18 0x00007fa772af712c in weld::Container::signal_container_focus_changed (this=0x55f168a187c8) at include/vcl/weld.hxx:396
    #19 0x00007fa772af4b1f in QtInstanceWindow::eventFilter (this=0x55f168a18600, pObject=0x55f168483010, pEvent=0x7ffe7c599350) at vcl/qt6/../qt5/QtInstanceWindow.cxx:228
    #20 0x00007fa771a52f9d in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1246
    #21 0x00007fa76f9e60ce in QApplicationPrivate::notify_helper (this=0x55f162d3fb40, receiver=0x55f168483010, e=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3301
    #22 0x00007fa76f9e9fd4 in QApplication::notify (this=0x55f162d31a60, receiver=0x55f168483010, e=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3253
    #23 0x00007fa771a52a99 in QCoreApplication::notifyInternal2 (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109
    #24 0x00007fa771a53799 in QCoreApplication::sendSpontaneousEvent (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1563
    #25 0x00007fa76f9e48ee in QApplicationPrivate::setActiveWindow (act=0x55f168483010) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1880
    #26 0x00007fa76f9e5015 in QApplicationPrivate::notifyActiveWindowChange (this=0x55f162d3fb40, previous=0x0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1950
    #27 0x00007fa7708973c4 in QGuiApplicationPrivate::processFocusWindowEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2726
    #28 0x00007fa7708935a8 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2215
    #29 0x00007fa77097c52d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #30 0x00007fa77097c3de in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    #31 0x00007fa76b8b5665 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55f162d8feb0) at /home/michi/development/git/qt5/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:523
    #32 0x00007fa76b8ba6c4 in QtWaylandClient::QWaylandDisplay::qt_static_metacall (_o=0x55f162d8feb0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffe7c5999b0)
        at qtbase/src/plugins/platforms/wayland/WaylandClient_autogen/include/moc_qwaylanddisplay_p.cpp:90
    #33 0x00007fa771b2d43f in doActivate<false> (sender=0x55f162d326e0, signal_index=3, argv=0x7ffe7c5999b0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4295
    #34 0x00007fa771b234a3 in QMetaObject::activate (sender=0x55f162d326e0, m=0x7fa77243f028 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=0, argv=0x0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4343
    #35 0x00007fa771a3b8b6 in QAbstractEventDispatcher::aboutToBlock (this=0x55f162d326e0) at qtbase/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:122
    #36 0x00007fa772059673 in QEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:386
    #37 0x00007fa77119ba38 in QPAEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #38 0x00007fa7729f8212 in QtInstance::ImplYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:500
    #39 0x00007fa7729fb551 in QtInstance::DoYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:511
    #40 0x00007fa77b45b226 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #41 0x00007fa77b45ab3f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #42 0x00007fa77b45a920 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #43 0x00007fa784328e65 in desktop::Desktop::Main (this=0x7ffe7c59b5c0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #44 0x00007fa77b487146 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #45 0x00007fa77b488c39 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #46 0x00007fa7843a2b0a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #47 0x000055f1441869fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #48 0x000055f1441869d7 in main (argc=2, argv=0x7ffe7c59b7c8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: Ia3f78c245022c6aa989292737730079b403a7493
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188310
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jul 26, 2025
...as seen during CppunitTest_sd_font_embedding_tests,

> src/EOT.c:15:68: runtime error: left shift of 160 by 24 places cannot be represented in type 'int'
>     #0 0x7f0b39e71791 in EOTreadU32LE (/instdir/program/libvcllo.so+0xbbb0791)
>     #1 0x7f0b39e73882 in EOTfillMetadataSpecifyingVersion (/instdir/program/libvcllo.so+0xbbb2882)
>     #2 0x7f0b39e754a6 in EOTfillMetadata (/instdir/program/libvcllo.so+0xbbb44a6)
>     #3 0x7f0b39e7129e in EOT2ttf_buffer (/instdir/program/libvcllo.so+0xbbb029e)
>     #4 0x7f0b35eb77d9 in EmbeddedFontsHelper::addEmbeddedFont(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t> >, std::__debug::vector<unsigned char, std::allocator<unsigned char> > const&, bool, bool) /vcl/source/gdi/embeddedfontshelper.cxx:120:13
>     #5 0x7f0acf649034 in oox::ppt::EmbeddedFontListContext::onEndElement() /oox/source/ppt/EmbeddedFontListContext.cxx:96:30
>     #6 0x7f0ace1879d4 in oox::core::ContextHandler2Helper::implEndElement(int) /oox/source/core/contexthandler2.cxx:124:9
>     #7 0x7f0ace2287c6 in oox::core::FragmentHandler2::endFastElement(int) /oox/source/core/fragmenthandler2.cxx:91:5
>     #8 0x7f0b07f340ca in (anonymous namespace)::Entity::endElement() /sax/source/fastparser/fastparser.cxx:515:27
>     #9 0x7f0b07f33a98 in sax_fastparser::FastSaxParserImpl::callbackEndElement() /sax/source/fastparser/fastparser.cxx:1340:17
>     #10 0x7f0b07f23a24 in (anonymous namespace)::call_callbackEndElement(void*, unsigned char const*, unsigned char const*, unsigned char const*) /sax/source/fastparser/fastparser.cxx:339:18
>     #11 0x7f0b4391eb84 in xmlParseEndTag2 /workdir/UnpackedTarball/libxml2/parser.c:9632:2
>     #12 0x7f0b438d0124 in xmlParseTryOrFinish /workdir/UnpackedTarball/libxml2/parser.c:11374:14
>     #13 0x7f0b438c4f6c in xmlParseChunk /workdir/UnpackedTarball/libxml2/parser.c:11640:5
>     #14 0x7f0b07f1e811 in sax_fastparser::FastSaxParserImpl::parse() /sax/source/fastparser/fastparser.cxx:1091:21
>     #15 0x7f0b07f18318 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:895:9
>     #16 0x7f0b07f39a50 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1479:13
>     #17 0x7f0ace1b2541 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     #18 0x7f0ace1b2cd8 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     #19 0x7f0ace2871ce in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:421:21
>     #20 0x7f0ace285a1d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:351:12
>     #21 0x7f0acf65bbb2 in oox::ppt::PowerPointImport::importDocument() /oox/source/ppt/pptimport.cxx:109:17
>     #22 0x7f0ace1c54ab in oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/core/filterbase.cxx:486:49
>     #23 0x7f0acf65f687 in oox::ppt::PowerPointImport::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/ppt/pptimport.cxx:214:24
>     #24 0x7f0af938ff1a in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sfx2/source/doc/objstor.cxx:2685:34
>     #25 0x7f0b01e1acd1 in sd::DrawDocShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sd/source/ui/docshell/docshel4.cxx:458:39
>     #26 0x7f0af9342ab1 in SfxObjectShell::DoLoad(SfxMedium*) /sfx2/source/doc/objstor.cxx:768:23
>     #27 0x7f0af95d3e84 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sfx2/source/doc/sfxbasemodel.cxx:1986:36
>     #28 0x7f0af9e36f00 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) /sfx2/source/view/frmload.cxx:771:28
>     #29 0x7f0ac5b19f36 in framework::LoadEnv::impl_loadContent() /framework/source/loadenv/loadenv.cxx:1180:37
>     #30 0x7f0ac5b10dd2 in framework::LoadEnv::start() /framework/source/loadenv/loadenv.cxx:415:20
>     #31 0x7f0ac5b09292 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) /framework/source/loadenv/loadenv.cxx:311:5
>     #32 0x7f0ac5b04674 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/loadenv/loadenv.cxx:167:14
>     #33 0x7f0ac5bd9348 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx:594:16
>     #34 0x7f0ac5bd96c6 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&) /framework/source/services/desktop.cxx
>     #35 0x7f0adc8e6a09 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /unotest/source/cpp/macros_test.cxx:72:62
>     #36 0x7f0af3eb9f62 in UnoApiTest::loadWithParams(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /test/source/unoapi_test.cxx:125:19
>     #37 0x7f0af3eb9098 in UnoApiTest::loadFromURL(rtl::OUString const&, char const*) /test/source/unoapi_test.cxx:107:5
>     #38 0x7f0af3eba994 in UnoApiTest::loadFromFile(std::basic_string_view<char16_t, std::char_traits<char16_t> >, char const*) /test/source/unoapi_test.cxx:132:5
>     #39 0x7f0b0e518798 in SdModelTestBase::createSdImpressDoc(char const*, char const*) /sd/qa/unit/sdmodeltestbase.hxx:54:13
>     #40 0x7f0b0e50fa7d in testRoundtripEmbeddedFontsPPTX::TestBody() /sd/qa/unit/FontEmbeddingTest.cxx:49:5

(<https://ci.libreoffice.org/job/lo_ubsan/3555/>)

Change-Id: I0fed461981c812a10ee88ea44629afe6c76525ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185086
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 17d2a10)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188416
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins CollaboraOffice <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Aug 7, 2025
Otherwise, this triggers the following assertion:

    soffice.bin: .../vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed.

when opening an Impress presenation with a slide containing
a video with SAL_VCL_QT_USE_QT_FRAME_GRABBER=1, potentially
since

    commit 88e9af0
    Date:   Wed Aug 6 09:49:42 2025 +0200

        BitmapEx->Bitmap in PngImageReader

and follow-up commit

    commit 32627a5
    Date:   Wed Aug 6 15:48:28 2025 +0200

        blind fix for qt6 build

Backtrace:

    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
    #1  0x00007fbf6409e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007fbf64049cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007fbf640324ac in __GI_abort () at ./stdlib/abort.c:73
    #4  0x00007fbf64032420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118
    #5  0x00007fbf5b3889ec in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36
    #6  0x00007fbf6352b124 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54
    #7  0x00007fbf5b24fafb in VirtualDevice::AcquireGraphics (this=0x557da1d5e290) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:49
    #8  0x00007fbf5aecf733 in OutputDevice::DrawRect (this=0x557da1d5e290, rRect=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/rect.cxx:67
    #9  0x00007fbf5aee0999 in OutputDevice::DrawColorWallpaper (this=0x557da1d5e290, nX=0, nY=0, nWidth=721, nHeight=401, rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:90
    #10 0x00007fbf5aedefcf in OutputDevice::DrawWallpaper (this=0x557da1d5e290, nX=0, nY=0, nWidth=721, nHeight=401, rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:70
    #11 0x00007fbf5aedeeab in OutputDevice::DrawWallpaper (this=0x557da1d5e290, rRect=..., rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:53
    #12 0x00007fbf5b2523b0 in VirtualDevice::InnerImplSetOutputSizePixel (this=0x557da1d5e290, rNewSize=Size = {...}, bErase=true, bAlphaMaskTransparent=true) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:295
    #13 0x00007fbf5b2527dd in VirtualDevice::SetOutputSizePixel (this=0x557da1d5e290, rNewSize=Size = {...}, bErase=true, bAlphaMaskTransparent=true) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:350
    #14 0x00007fbf5b2ac951 in Bitmap::Bitmap (this=0x7fffdcfcae00, rBitmapEx=...) at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:146
    #15 0x00007fbf5b5e8e6f in vcl::PngImageReader::read (this=0x7fffdcfcb128, rBitmap=...) at /home/michi/development/git/libreoffice/vcl/source/filter/png/PngImageReader.cxx:820
    #16 0x00007fbf2c1be088 in (anonymous namespace)::toXGraphic (rImage=...) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:36
    #17 0x00007fbf2c1bda8e in avmedia::qt::QtFrameGrabber::onVideoFrameChanged (this=0x7fbf24003b00, rFrame=...) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:73
    #18 0x00007fbf2c1c33d4 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}::operator()() const (this=0x7fffdcfcb300) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #19 0x00007fbf2c1c3359 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}&&) (args=0x7fbf24003bd8, fn=...)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #20 0x00007fbf2c1c3323 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call
        (f=(void (avmedia::qt::QtFrameGrabber::*)(class avmedia::qt::QtFrameGrabber * const, const class QVideoFrame &)) 0x7fbf2c1bda40 <avmedia::qt::QtFrameGrabber::onVideoFrameChanged(QVideoFrame const&)>, o=0x7fbf24003b00, arg=0x7fbf24003bd8) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #21 0x00007fbf2c1c329d in QtPrivate::FunctionPointer<void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call<QtPrivate::List<QVideoFrame const&>, void>
        (f=(void (avmedia::qt::QtFrameGrabber::*)(class avmedia::qt::QtFrameGrabber * const, const class QVideoFrame &)) 0x7fbf2c1bda40 <avmedia::qt::QtFrameGrabber::onVideoFrameChanged(QVideoFrame const&)>, o=0x7fbf24003b00, arg=0x7fbf24003bd8) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #22 0x00007fbf2c1c31c6 in QtPrivate::QCallableObject<void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), QtPrivate::List<QVideoFrame const&>, void>::impl
        (which=1, this_=0x557d9d23f1c0, r=0x7fbf24003b00, a=0x7fbf24003bd8, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #23 0x00007fbf51907b62 in QtPrivate::QSlotObjectBase::call (this=0x557d9d23f1c0, r=0x7fbf24003b00, a=0x7fbf24003bd8) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #24 0x00007fbf51b1a02c in QMetaCallEvent::placeMetaCall (this=0x7fbf24003b90, object=0x7fbf24003b00) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:544
    #25 0x00007fbf51b1c1c1 in QObject::event (this=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1465
    #26 0x00007fbf4f9e6130 in QApplicationPrivate::notify_helper (this=0x557d975ccb40, receiver=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3307
    #27 0x00007fbf4f9ea038 in QApplication::notify (this=0x557d975bdec0, receiver=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3257
    #28 0x00007fbf51a52ac9 in QCoreApplication::notifyInternal2 (receiver=0x7fbf24003b00, event=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109
    #29 0x00007fbf51a53739 in QCoreApplication::sendEvent (receiver=0x7fbf24003b00, event=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549
    #30 0x00007fbf51a5466a in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x557d975f3770) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1904
    #31 0x00007fbf51a5357c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1757
    #32 0x00007fbf5205bba1 in postEventSourceDispatch (s=0x557d9761ac80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #33 0x00007fbf561043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #34 0x00007fbf561065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #35 0x00007fbf56106d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #36 0x00007fbf5205addb in QEventDispatcherGlib::processEvents (this=0x557d975bf280, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #37 0x00007fbf5119f838 in QPAEventDispatcherGlib::processEvents (this=0x557d975bf280, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    #38 0x00007fbf52a19b84 in QtInstance::ImplYield (this=0x557d976494e0, bWait=false, bHandleAllCurrentEvents=true) at vcl/qt6/../qt5/QtInstance.cxx:503
    #39 0x00007fbf52a1ce71 in QtInstance::DoYield (this=0x557d976494e0, bWait=false, bHandleAllCurrentEvents=true) at vcl/qt6/../qt5/QtInstance.cxx:512
    #40 0x00007fbf5b45f3a6 in ImplYield (i_bWait=false, i_bAllEvents=true) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #41 0x00007fbf5b45f667 in Scheduler::ProcessEventsToIdle () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:435
    #42 0x00007fbf2c1be3cd in avmedia::qt::QtFrameGrabber::grabFrame (this=0x7fbf24003b00, fMediaTime=0) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:100
    #43 0x00007fbf2c1be4ce in non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) () at /home/michi/development/git/libreoffice/instdir/program/../program/libavmediaqt6.so
    #44 0x00007fbf5d3e5b13 in avmedia::MediaWindow::grabFrame (xPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168, rGraphic=empty uno::Reference)
        at /home/michi/development/git/libreoffice/avmedia/source/viewer/mediawindow.cxx:384
    #45 0x00007fbf5e430b5f in SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const
        (this=0x557d9c98fea0, rPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdomedia.cxx:195
    #46 0x00007fbf5e430add in std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) (__f=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:61
    #47 0x00007fbf5e430a8d in std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) (__fn=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:111
    #48 0x00007fbf5e430905 in std::_Function_handler<void(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke
        (__functor=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:290
    #49 0x00007fbf5d3ec066 in std::function<void(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator() (this=0x557d9c975aa8, __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:591
    #50 0x00007fbf5d3e8261 in avmedia::PlayerListener::callPlayerWindowSizeAvailable (this=0x557d9c975a60, rPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at include/avmedia/mediawindow.hxx:74
    #51 0x00007fbf5d3e5eab in avmedia::MediaWindow::grabFrame (rURL="file:///tmp/7qg9UE.ogg", rReferer="", sMimeType="audio/ogg", xPreferredPixelSizeListener=rtl::Reference to 0x557d9c975a60)
        at /home/michi/development/git/libreoffice/avmedia/source/viewer/mediawindow.cxx:434
    #52 0x00007fbf5e42e93c in SdrMediaObj::getSnapshot (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdomedia.cxx:199
    #53 0x00007fbf5e17a1a9 in sdr::contact::ViewContactOfSdrMediaObj::createViewIndependentPrimitive2DSequence (this=0x557d997790d0, rVisitor=...)
        at /home/michi/development/git/libreoffice/svx/source/sdr/contact/viewcontactofsdrmediaobj.cxx:122
    #54 0x00007fbf5e19363b in sdr::contact::ViewContact::getViewIndependentPrimitive2DContainer (this=0x557d997790d0, rVisitor=...) at /home/michi/development/git/libreoffice/svx/source/sdr/contact/viewcontact.cxx:261
    #55 0x00007fbf5e3c8a34 in SdrObject::RecalcBoundRect (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdobj.cxx:988
    #56 0x00007fbf5e3c8959 in SdrObject::GetCurrentBoundRect (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdobj.cxx:958
    #57 0x00007fbf5e4b91d0 in SdrObjList::RecalcRects (this=0x557d9925ec30) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpage.cxx:242
    #58 0x00007fbf5e4bcf99 in SdrObjList::GetAllObjBoundRect (this=0x557d9925ec30) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpage.cxx:740
    #59 0x00007fbf5e4e1142 in SdrPageView::InvalidateAllWin (this=0x557d9c973a00) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpagv.cxx:202
    #60 0x00007fbf5e4e3301 in SdrPageView::SetHelpLines (this=0x557d9c973a00, rHLL=...) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpagv.cxx:687
    #61 0x00007fbf2fe0a543 in sd::DrawViewShell::SwitchPage (this=0x557d990dc4b0, nSelectedPage=0, bAllowChangeFocus=true, bUpdateScrollbars=true) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews1.cxx:1050
    #62 0x00007fbf2fe0869d in sd::DrawViewShell::ChangeEditMode (this=0x557d990dc4b0, eEMode=EditMode::Page, bIsLayerModeActive=false) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews1.cxx:409
    #63 0x00007fbf2fe566cc in sd::DrawViewShell::ReadFrameViewData (this=0x557d990dc4b0, pView=0x557d9c970370) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews5.cxx:291
    #64 0x00007fbf2fe6f3e1 in sd::DrawViewShell::Construct (this=0x557d990dc4b0, pDocSh=0x557d98f74bd0, eInitialPageKind=PageKind::Standard) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviewsa.cxx:304
    #65 0x00007fbf2fe6ea0d in sd::DrawViewShell::DrawViewShell (this=0x557d990dc4b0, rViewShellBase=..., pParentWindow=0x557d99842f80, ePageKind=PageKind::Standard, pFrameViewArgument=0x0)
        at /home/michi/development/git/libreoffice/sd/source/ui/view/drviewsa.cxx:126
    #66 0x00007fbf2f9caedd in std::_Construct<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (__p=0x557d990dc4b0, __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119
    #67 0x00007fbf2f9caafe in std::allocator_traits<std::allocator<void> >::construct<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (__p=0x557d990dc4b0, __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706
    #68 std::_Sp_counted_ptr_inplace<sd::DrawViewShell, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (this=0x557d990dc4a0, __a=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607
    #69 0x00007fbf2f9ca8f7 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::DrawViewShell, std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (this=0x7fffdcfcfce0, __p=@0x7fffdcfcfcd8: 0x0, __a=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970
    #70 0x00007fbf2f9ca81a in std::__shared_ptr<sd::DrawViewShell, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (this=0x7fffdcfcfcd8, __tag=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713
    #71 0x00007fbf2f9ca792 in std::shared_ptr<sd::DrawViewShell>::shared_ptr<std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (this=0x7fffdcfcfcd8, __tag=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463
    #72 0x00007fbf2f9c4911 in std::make_shared<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&>
        (__args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007
    #73 0x00007fbf2f9c11f3 in sd::framework::BasicViewFactory::CreateViewShell (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910, rWindow=..., pFrameView=0x0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:284
    #74 0x00007fbf2f9c0553 in sd::framework::BasicViewFactory::CreateView (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910, rWindow=..., rxPane=rtl::Reference to 0x557d9c953020, pFrameView=0x0, bIsCenterPane=true)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:241
    #75 0x00007fbf2f9bffcb in sd::framework::BasicViewFactory::createResource (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:167
    #76 0x00007fbf2f994c48 in sd::framework::ConfigurationControllerResourceManager::ActivateResource (this=0x557d9963f120, rxResourceId=rtl::Reference to 0x557d998d8910, rxConfiguration=rtl::Reference to 0x557d999b0dc0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:130
    #77 0x00007fbf2f9945f8 in sd::framework::ConfigurationControllerResourceManager::ActivateResources (this=0x557d9963f120, rResources=std::__debug::vector of length 5, capacity 5 = {...}, rxConfiguration=rtl::Reference to 0x557d999b0dc0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:75
    #78 0x00007fbf2f99d07a in sd::framework::ConfigurationUpdater::UpdateCore (this=0x557d999afee0, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:251
    #79 0x00007fbf2f99c61c in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x557d999afee0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161
    #80 0x00007fbf2f99c09b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x557d999afee0, rxRequestedConfiguration=rtl::Reference to 0x557d998c8ed0)
        at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108
    #81 0x00007fbf2f96fe69 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x557d999b0e60) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158
    #82 0x00007fbf2f982909 in sd::framework::ConfigurationController::ProcessEvent (this=0x557d999b0bf0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationController.cxx:157
    #83 0x00007fbf2fdbc797 in sd::ViewShellBase::LateInit (this=0x557d99242e30, rsDefaultView="") at /home/michi/development/git/libreoffice/sd/source/ui/view/ViewShellBase.cxx:345
    #84 0x00007fbf2fd78a33 in sd::ImpressViewShellBase::CreateInstance (rFrame=..., pOldView=0x0) at /home/michi/development/git/libreoffice/sd/source/ui/view/ImpressViewShellBase.cxx:45
    #85 0x00007fbf60a31855 in SfxViewFactory::CreateInstance (this=0x557d991cd6a0, rFrame=..., pOldSh=0x0) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfac.cxx:26
    #86 0x00007fbf60840fbf in SfxBaseModel::createViewController (this=0x557d9913bc50, i_rViewName="Default", i_rArguments=empty uno::Sequence, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40)
        at /home/michi/development/git/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:4355
    #87 0x00007fbf60841a9f in non-virtual thunk to SfxBaseModel::createViewController(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) () at /home/michi/development/git/libreoffice/instdir/program/libsfxlo.so
    #88 0x00007fbf609dc0f4 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView
        (i_rModel=uno::Reference to (SdXImpressDocument *) 0x557d9913bce0, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40, i_rViewFactoryArgs=..., i_rViewName="Default")
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:586
    #89 0x00007fbf609d96ac in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x557d99388d30, rArgs=uno::Sequence of length 12 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40)
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:813
    #90 0x00007fbf615c72c4 in framework::LoadEnv::impl_loadContent (this=0x557d98866fa8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180
    #91 0x00007fbf615c4425 in framework::LoadEnv::start (this=0x557d98866fa8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415
    #92 0x00007fbf615c20d2 in framework::LoadEnv::startLoading
        (this=0x557d98866fa8, sURL="file:///home/michi/git/computer-doc/misc/impress_presentations_with_audio_and_video/slide_with_video.odp", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x557d978a34b8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatures::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311
    #93 0x00007fbf6145aaa1 in framework::LoadDispatcher::impl_dispatch (this=0x557d98866f50, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference)
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107
    #94 0x00007fbf6145b801 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x557d98866f50, rURL=..., lArguments=uno::Sequence of length 4 = {...})
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #95 0x00007fbf6145b8a4 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #96 0x00007fbf629f10c0 in comphelper::SynchronousDispatch::dispatch
        (xStartPoint=uno::Reference to (framework::Desktop *) 0x557d978a34a8, sURL="file:///home/michi/git/computer-doc/misc/impress_presentations_with_audio_and_video/slide_with_video.odp", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62
    #97 0x00007fbf64377054 in desktop::DispatchWatcher::executeDispatchRequests (this=0x557d99219bb0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false, pFlags=0x7fffdcfd6994)
        at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:531
    #98 0x00007fbf64395488 in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1317
    #99 0x00007fbf6432ee7f in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2218
    #100 0x00007fbf6432cdf3 in desktop::Desktop::OpenClients_Impl (this=0x7fffdcfda450) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1978
    #101 0x00007fbf6432b45d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7fffdcfda450, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1962
    #102 0x00007fbf5ac98231 in Link<void*, void>::Call (this=0x557d98fba098, data=0x0) at include/tools/link.hxx:105
    #103 0x00007fbf5ac93af1 in ImplHandleUserEvent (pSVEvent=0x557d98fba090) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312
    #104 0x00007fbf5ac90a1f in ImplWindowFrameProc (_pWindow=0x557d988b22c0, nEvent=SalEvent::UserEvent, pEvent=0x557d98fba090) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2876
    #105 0x00007fbf529fb3ec in SalFrame::CallCallback (this=0x557d988b3f20, nEvent=SalEvent::UserEvent, pEvent=0x557d98fba090) at vcl/inc/salframe.hxx:310
    #106 0x00007fbf52a1d2af in QtInstance::ProcessEvent (this=0x557d976494e0, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:594
    #107 0x00007fbf5b393fbd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffdcfd88a0) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #108 0x00007fbf5b393e8b in SalUserEventList::DispatchUserEvents (this=0x557d97649518, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #109 0x00007fbf52a19a91 in QtInstance::ImplYield (this=0x557d976494e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:490
    #110 0x00007fbf52a1ce71 in QtInstance::DoYield (this=0x557d976494e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512
    #111 0x00007fbf5b45f3a6 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #112 0x00007fbf5b45ecbf in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #113 0x00007fbf5b45eaa0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #114 0x00007fbf64329435 in desktop::Desktop::Main (this=0x7fffdcfda450) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #115 0x00007fbf5b48b2c6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #116 0x00007fbf5b48cdb9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #117 0x00007fbf643a30ea in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #118 0x0000557d789219fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #119 0x0000557d789219d7 in main (argc=2, argv=0x7fffdcfda658) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I1e2265e38d7c93171146df4f58666e9cf22bdaf6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189036
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Aug 13, 2025
As the GVariant format string doc says [1] about
pointers:

> The `&` character is used to indicate that serialised data should be
> directly exchanged via a pointer.
>
> Currently, the only use for this character is when it is applied to a
> string (ie: `&s`, `&o` or `&g`). For `g_variant_new()` this has absolutely no
> effect. The string is collected and duplicated normally. For
> `g_variant_get()` it means that instead of creating a newly allocated copy
> of the string, a pointer to the serialised data is returned. This
> pointer should not be freed. Validity checks are performed to ensure
> that the string data will always be properly nul-terminated.

Therefore, freeing the string with

    g_free(pLabel);

is incorrect and resulted in a crash when starting Writer with
the gtk4 VCL plugin, s. backtrace below.

Use just "s" instead of "&s" for the format string to get a
string copy that is owned and can be freed.

(Dropping the `g_free` might be an alternative and avoid
a string copy, but it's not instantly clear to me whether
using "a pointer to the serialised data" is safe without
digging any deeper what exactly that means.)

Backtrace:

    free(): invalid pointer
    [New Thread 125500.125502]
    [New Thread 125500.125503]
    [New Thread 125500.125504]
    [New Thread 125500.125505]
    [New Thread 125500.125506]
    [New Thread 125500.125507]
    [New Thread 125500.125508]
    [New Thread 125500.125510]
    [New Thread 125500.125511]
    [New Thread 125500.125525]

    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
    #1  0x00007f0bb969de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78
    #2  0x00007f0bb9649d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007f0bb96324f0 in __GI_abort () at ./stdlib/abort.c:79
    #4  0x00007f0bb963332d in __libc_message_impl (fmt=fmt@entry=0x7f0bb97b5303 "%s\n") at ../sysdeps/posix/libc_fatal.c:134
    #5  0x00007f0bb96a7965 in malloc_printerr (str=str@entry=0x7f0bb97b3082 "free(): invalid pointer") at ./malloc/malloc.c:5772
    #6  0x00007f0bb96a9bf4 in _int_free (av=0x7f0bb97f1ac0 <main_arena>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4507
    #7  0x00007f0bb96ac43f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3398
    #8  0x00007f0ba62b908a in (anonymous namespace)::MenuHelper::get_item_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5684
    #9  0x00007f0ba63013d8 in (anonymous namespace)::GtkInstanceMenu::get_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11694
    #10 0x00007f0ba6301b2f in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_label(rtl::OUString const&) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11823
    #11 0x00007f0bb482d026 in (anonymous namespace)::SelectionTypePopup::GetItemTextForState (this=0x7ffed304ad80, nState=0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:56
    #12 0x00007f0bb482cc59 in SvxSelectionModeControl::StateChangedAtStatusBarControl (this=0x55b0c8d2d6e0, eState=SfxItemState::DEFAULT, pState=0x55b0c8f331c0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:128
    #13 0x00007f0bb5f9af1e in SfxStatusBarControl::statusChanged (this=0x55b0c8d2d6e0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/statbar/stbitem.cxx:263
    #14 0x00007f0bb5a9d4c8 in SfxDispatchController_Impl::addStatusListener (this=0x55b0c8ed6380, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...)
        at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:841
    #15 0x00007f0bb5a9d174 in SfxOfficeDispatch::addStatusListener (this=0x55b0c8f280e0, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...)
        at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:283
    #16 0x00007f0bb28a8577 in svt::StatusbarController::bindListener (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:462
    #17 0x00007f0bb28a7f09 in svt::StatusbarController::update (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:169
    #18 0x00007f0bb6d41a6b in framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > >::operator() (this=0x7ffed304b547, rElement={...})
        at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:69
    #19 0x00007f0bb6d3e5ef in std::for_each<__gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > >, std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > >, std::bidirectional_iterator_tag>, framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > > > (__first={...}, __last={...}, __f=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786
    #20 0x00007f0bb6d3d9a5 in framework::StatusBarManager::UpdateControllers (this=0x55b0c8cefc90) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:269
    #21 0x00007f0bb6d4028b in framework::StatusBarManager::FillStatusBar (this=0x55b0c8cefc90, rItemContainer=uno::Reference to (framework::ConstItemContainer *) 0x55b0c8e017e8)
        at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:479
    #22 0x00007f0bb6d4ae38 in framework::StatusBarWrapper::initialize (this=0x55b0c8d0f060, aArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarwrapper.cxx:117
    #23 0x00007f0bb6df9104 in framework::MenuBarFactory::CreateUIElement
        (ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}, ResourceType=u"private:resource/statusbar/", _xMenuBar=uno::Reference to (framework::StatusBarWrapper *) 0x55b0c8d0f0f8, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55b0ba8b8308) at /home/michi/development/git/libreoffice/framework/source/uifactory/menubarfactory.cxx:158
    #24 0x00007f0bb6df9c0a in (anonymous namespace)::StatusBarFactory::createUIElement (this=0x55b0c8e03800, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...})
        at /home/michi/development/git/libreoffice/framework/source/uifactory/statusbarfactory.cxx:68
    #25 0x00007f0bb6df9d74 in non-virtual thunk to (anonymous namespace)::StatusBarFactory::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #26 0x00007f0bb6e01290 in (anonymous namespace)::UIElementFactoryManager::createUIElement (this=0x55b0bf803260, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...})
        at /home/michi/development/git/libreoffice/framework/source/uifactory/uielementfactorymanager.cxx:440
    #27 0x00007f0bb6e024f4 in non-virtual thunk to (anonymous namespace)::UIElementFactoryManager::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #28 0x00007f0bb6b6d427 in framework::LayoutManager::implts_createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:730
    #29 0x00007f0bb6b71852 in framework::LayoutManager::implts_createStatusBar (this=0x55b0c1e3a170, aStatusBarName="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:849
    #30 0x00007f0bb6b75bcc in framework::LayoutManager::createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1443
    #31 0x00007f0bb6b76b57 in framework::LayoutManager::requestElement (this=0x55b0c1e3a170, rResourceURL="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1570
    #32 0x00007f0bb595f0b5 in SfxWorkWindow::UpdateStatusBar_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1471
    #33 0x00007f0bb595e9a0 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1242
    #34 0x00007f0bb595e001 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
    #35 0x00007f0bb59ca573 in SfxDispatcher::Update_Impl (this=0x55b0c742b5b0, bForce=false) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1123
    #36 0x00007f0bb6003921 in SfxBaseController::ConnectSfxFrame_Impl (this=0x55b0c7469930, i_eConnect=SfxBaseController::E_CONNECT) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1207
    #37 0x00007f0bb6002ade in SfxBaseController::attachFrame (this=0x55b0c7469930, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40)
        at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:531
    #38 0x00007f0bb5fd38b9 in utl::ConnectFrameControllerModel
        (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, xController=uno::Reference to (SwXTextView *) 0x55b0c7469958, xModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670)
        at include/unotools/fcm.hxx:57
    #39 0x00007f0bb5fcfec1 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView
        (i_rModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, i_rViewFactoryArgs=..., i_rViewName="Default")
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585
    #40 0x00007f0bb5fcd45c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x55b0c22dc9f0, rArgs=uno::Sequence of length 9 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40)
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764
    #41 0x00007f0bb6bc2644 in framework::LoadEnv::impl_loadContent (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180
    #42 0x00007f0bb6bbf7a5 in framework::LoadEnv::start (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415
    #43 0x00007f0bb6bbd452 in framework::LoadEnv::startLoading
        (this=0x55b0c1271ec8, sURL="private:factory/swriter", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x55b0bbbee8c8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatu--Type <RET> for more, q to quit, c to continue without paging--
    res::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311
    #44 0x00007f0bb6a56311 in framework::LoadDispatcher::impl_dispatch (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference)
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107
    #45 0x00007f0bb6a57071 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...})
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #46 0x00007f0bb6a57114 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #47 0x00007f0bb80110b0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x55b0bbbee8b8, sURL="private:factory/swriter", sTarget="_default", lArguments=uno::Sequence of length 4 = {...})
        at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62
    #48 0x00007f0bb99757fd in desktop::DispatchWatcher::executeDispatchRequests (this=0x55b0c16043b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false)
        at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529
    #49 0x00007f0bb9993b5a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347
    #50 0x00007f0bb992f196 in desktop::Desktop::OpenDefault () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2276
    #51 0x00007f0bb992e5cd in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2220
    #52 0x00007f0bb992c3a3 in desktop::Desktop::OpenClients_Impl (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979
    #53 0x00007f0bb992aa3d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffed3055280, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963
    #54 0x00007f0bb02ac091 in Link<void*, void>::Call (this=0x55b0bffb6ba8, data=0x0) at include/tools/link.hxx:105
    #55 0x00007f0bb02a8291 in ImplHandleUserEvent (pSVEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    #56 0x00007f0bb02a51ba in ImplWindowFrameProc (_pWindow=0x55b0bfc9e9b0, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    #57 0x00007f0bb0e665bc in SalFrame::CallCallback (this=0x55b0bf7eaa50, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at vcl/inc/salframe.hxx:311
    #58 0x00007f0bb0e8ef5f in SalGenericDisplay::ProcessEvent (this=0x55b0baa61510, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #59 0x00007f0bb09aaddd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffed3053530) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #60 0x00007f0bb09aacb6 in SalUserEventList::DispatchUserEvents (this=0x55b0baa61510, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #61 0x00007f0bb0e8eeb5 in SalGenericDisplay::DispatchInternalEvent (this=0x55b0baa61510, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #62 0x00007f0ba628536f in call_userEventFn (data=0x55b0ba8d13e0) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:827
    #63 0x00007f0babd03d5f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #64 0x00007f0babd05fd7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #65 0x00007f0babd06740 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #66 0x00007f0ba62840ac in GtkSalData::Yield (this=0x55b0ba8d13e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:405
    #67 0x00007f0ba6289863 in GtkInstance::DoYield (this=0x55b0ba8d1290, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:439
    #68 0x00007f0bb0a75c06 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #69 0x00007f0bb0a7551f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #70 0x00007f0bb0a75300 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #71 0x00007f0bb9928a19 in desktop::Desktop::Main (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679
    #72 0x00007f0bb0a970d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #73 0x00007f0bb0a98cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #74 0x00007f0bb99a22fa in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #75 0x000055b09e4b3a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #76 0x000055b09e4b3a47 in main (argc=2, argv=0x7ffed3055488) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

[1] https://docs.gtk.org/glib/gvariant-format-strings.html#pointers

Change-Id: I87bd2840ac573426264d1dff2fd40ab292f09fc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181666
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit 38024bc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096
Reviewed-by: Xisco Fauli <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Aug 14, 2025
...to avoid

> warn:legacy.osl:1217871:1217871:sd/source/ui/framework/tools/FrameworkHelper.cxx:656: FrameworkHelper::WaitForEvent(), no event for a minute? giving up!
> warn:legacy.osl:1217871:1217871:canvas/source/cairo/cairo_spritecanvas.cxx:82: CairoSpriteCanvas::SpriteCanvas: No Cairo capability
> =================================================================
> ==1217871==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fa9e7be2720 at pc 0x7fa98f2d3422 bp 0x7ffea89263e0 sp 0x7ffea89263d8
> WRITE of size 1 at 0x7fa9e7be2720 thread T0
>     #0 0x7fa98f2d3421 in sd::framework::(anonymous namespace)::FlagUpdater::operator()(bool) const /sd/source/ui/framework/tools/FrameworkHelper.cxx:627:42
>     #1 0x7fa98f2d330e in void std::__invoke_impl<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>(std::__invoke_other, sd::framework::(anonymous namespace)::FlagUpdater&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:61:14
>     #2 0x7fa98f2d30ed in std::enable_if<is_invocable_r_v<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>, void>::type std::__invoke_r<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>(sd::framework::(anonymous namespace)::FlagUpdater&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:111:2
>     #3 0x7fa98f2d2cad in std::_Function_handler<void (bool), sd::framework::(anonymous namespace)::FlagUpdater>::_M_invoke(std::_Any_data const&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:290:9
>     #4 0x7fa98f2dc5eb in std::function<void (bool)>::operator()(bool) const /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:591:9
>     #5 0x7fa98f2ce73f in (anonymous namespace)::CallbackCaller::notifyConfigurationChange(sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/tools/FrameworkHelper.cxx:827:5
>     #6 0x7fa98f0cb3be in sd::framework::ConfigurationControllerBroadcaster::NotifyListeners(std::__debug::vector<rtl::Reference<sd::framework::ConfigurationChangeListener>, std::allocator<rtl::Reference<sd::framework::ConfigurationChangeListener> > > const&, sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx:84:24
>     #7 0x7fa98f0cbe73 in sd::framework::ConfigurationControllerBroadcaster::NotifyListeners(sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx:109:9
>     #8 0x7fa98f12ee24 in sd::framework::ConfigurationUpdater::UpdateConfiguration() /sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:169:28
>     #9 0x7fa98f12d569 in sd::framework::ConfigurationUpdater::RequestUpdate(rtl::Reference<sd::framework::Configuration> const&) /sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108:13
>     #10 0x7fa98f0536dc in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent() /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158:33
>     #11 0x7fa98f0521a9 in sd::framework::ChangeRequestQueueProcessor::ProcessEvent(void*) /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:115:5
>     #12 0x7fa98f052018 in sd::framework::ChangeRequestQueueProcessor::LinkStubProcessEvent(void*, void*) /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:109:1
>     #13 0x7fa9caadaf2d in Link<void*, void>::Call(void*) const /include/tools/link.hxx:105:45
>     #14 0x7fa9caac0560 in ImplHandleUserEvent(ImplSVEvent*) /vcl/source/window/winproc.cxx:2312:30
>     #15 0x7fa9caaab2aa in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) /vcl/source/window/winproc.cxx:2876:13
>     #16 0x7fa9ce83a5f2 in SalFrame::CallCallback(SalEvent, void const*) const /vcl/inc/salframe.hxx:310:29
>     #17 0x7fa9ce8e7311 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) /vcl/headless/svpinst.cxx:284:22
>     #18 0x7fa9ce8e7aa2 in non-virtual thunk to SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) /vcl/headless/svpinst.cxx
>     #19 0x7fa9cd06f7a3 in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const /vcl/source/app/salusereventlist.cxx:119:58
>     #20 0x7fa9cd06ef3a in SalUserEventList::DispatchUserEvents(bool) /vcl/source/app/salusereventlist.cxx:120:13
>     #21 0x7fa9ce8eb7ba in SvpSalInstance::ImplYield(bool, bool) /vcl/headless/svpinst.cxx:437:22
>     #22 0x7fa9ce8edfd3 in SvpSalInstance::DoYield(bool, bool) /vcl/headless/svpinst.cxx:516:21
>     #23 0x7fa9cd4d1a1a in ImplYield(bool, bool) /vcl/source/app/svapp.cxx:385:48
>     #24 0x7fa9cd4d28cf in Scheduler::ProcessEventsToIdle() /vcl/source/app/svapp.cxx:435:12
>     #25 0x7fa9a610ec3c in SdUiImpressTest::typeKey(SdXImpressDocument*, unsigned short) /sd/qa/unit/uiimpress.cxx:103:5
>     #26 0x7fa9a619cf17 in testTdf166647_userpaint::TestBody() /sd/qa/unit/uiimpress.cxx:2012:5
>     #27 0x7fa9a6327587 in void std::__invoke_impl<void, void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>(std::__invoke_memfun_deref, void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:74:14
>     #28 0x7fa9a63271f4 in std::__invoke_result<void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>::type std::__invoke<void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>(void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:96:14
>     #29 0x7fa9a6327070 in void std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:495:11
>     #30 0x7fa9a6326dd4 in void std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>::operator()<void>() /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:580:17
>     #31 0x7fa9a6326c4c in void std::__invoke_impl<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>(std::__invoke_other, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:61:14
>     #32 0x7fa9a6326afc in std::enable_if<is_invocable_r_v<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>, void>::type std::__invoke_r<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>(std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:111:2
>     #33 0x7fa9a632629c in std::_Function_handler<void (), std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()> >::_M_invoke(std::_Any_data const&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:290:9
>     #34 0x7fa9a6217041 in std::function<void ()>::operator()() const /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:591:9
>     #35 0x7fa9a6325668 in CppUnit::TestCaller<testTdf166647_userpaint>::runTest() /workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7
>     #36 0x7fa9ecf0988b in CppUnit::TestCaseMethodFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x31688b)
>     #37 0x7fa9ed3c86c0 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /test/source/vclbootstrapprotector.cxx:37:14
>     #38 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc)
>     #39 0x7fa9e7651410 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:78:12
>     #40 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc)
>     #41 0x7fa9ed2ff0ae in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:181:16
>     #42 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc)
>     #43 0x7fa9ece619df in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x26e9df)
>     #44 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc)
>     #45 0x7fa9eced2498 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2df498)
>     #46 0x7fa9ecf7a1e7 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3871e7)
>     #47 0x7fa9ecf080eb in CppUnit::TestCase::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3150eb)
>     #48 0x7fa9ecf0bbc1 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x318bc1)
>     #49 0x7fa9ecf0ae18 in CppUnit::TestComposite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x317e18)
>     #50 0x7fa9ecf0bbc1 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x318bc1)
>     #51 0x7fa9ecf0ae18 in CppUnit::TestComposite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x317e18)
>     #52 0x7fa9ecfaf846 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3bc846)
>     #53 0x7fa9ecf78c9e in CppUnit::TestResult::runTest(CppUnit::Test*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x385c9e)
>     #54 0x7fa9ecfb0712 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3bd712)
>     #55 0x50a2bb in (anonymous namespace)::ProtectedFixtureFunctor::run() const /sal/cppunittester/cppunittester.cxx:328:20
>     #56 0x506d13 in main2() /sal/cppunittester/cppunittester.cxx:482:16
>     #57 0x50512f in sal_main() /sal/cppunittester/cppunittester.cxx:627:14
>     #58 0x504f6e in main /sal/cppunittester/cppunittester.cxx:622:1

(<https://ci.libreoffice.org/job/lo_ubsan/3648/>) as seen during (recently
introduced) CppunitTest_sd_uiimpress testTdf166647_userpaint::TestBody.

(I assume that there is a pre-existing race accessing
CallbackCaller::mxConfigurationController, and that an additional
CallbackCaller::stop accessing it doesn't make things worse, so left that point
alone for now.)

Change-Id: I069b2935b5ca6430710d401b4cae32e4b9c8b7f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189598
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Aug 20, 2025
As the GVariant format string doc says [1] about
pointers:

> The `&` character is used to indicate that serialised data should be
> directly exchanged via a pointer.
>
> Currently, the only use for this character is when it is applied to a
> string (ie: `&s`, `&o` or `&g`). For `g_variant_new()` this has absolutely no
> effect. The string is collected and duplicated normally. For
> `g_variant_get()` it means that instead of creating a newly allocated copy
> of the string, a pointer to the serialised data is returned. This
> pointer should not be freed. Validity checks are performed to ensure
> that the string data will always be properly nul-terminated.

Therefore, freeing the string with

    g_free(pLabel);

is incorrect and resulted in a crash when starting Writer with
the gtk4 VCL plugin, s. backtrace below.

Use just "s" instead of "&s" for the format string to get a
string copy that is owned and can be freed.

(Dropping the `g_free` might be an alternative and avoid
a string copy, but it's not instantly clear to me whether
using "a pointer to the serialised data" is safe without
digging any deeper what exactly that means.)

Backtrace:

    free(): invalid pointer
    [New Thread 125500.125502]
    [New Thread 125500.125503]
    [New Thread 125500.125504]
    [New Thread 125500.125505]
    [New Thread 125500.125506]
    [New Thread 125500.125507]
    [New Thread 125500.125508]
    [New Thread 125500.125510]
    [New Thread 125500.125511]
    [New Thread 125500.125525]

    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
    #1  0x00007f0bb969de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78
    #2  0x00007f0bb9649d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007f0bb96324f0 in __GI_abort () at ./stdlib/abort.c:79
    #4  0x00007f0bb963332d in __libc_message_impl (fmt=fmt@entry=0x7f0bb97b5303 "%s\n") at ../sysdeps/posix/libc_fatal.c:134
    #5  0x00007f0bb96a7965 in malloc_printerr (str=str@entry=0x7f0bb97b3082 "free(): invalid pointer") at ./malloc/malloc.c:5772
    #6  0x00007f0bb96a9bf4 in _int_free (av=0x7f0bb97f1ac0 <main_arena>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4507
    #7  0x00007f0bb96ac43f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3398
    #8  0x00007f0ba62b908a in (anonymous namespace)::MenuHelper::get_item_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5684
    #9  0x00007f0ba63013d8 in (anonymous namespace)::GtkInstanceMenu::get_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11694
    #10 0x00007f0ba6301b2f in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_label(rtl::OUString const&) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11823
    #11 0x00007f0bb482d026 in (anonymous namespace)::SelectionTypePopup::GetItemTextForState (this=0x7ffed304ad80, nState=0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:56
    #12 0x00007f0bb482cc59 in SvxSelectionModeControl::StateChangedAtStatusBarControl (this=0x55b0c8d2d6e0, eState=SfxItemState::DEFAULT, pState=0x55b0c8f331c0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:128
    #13 0x00007f0bb5f9af1e in SfxStatusBarControl::statusChanged (this=0x55b0c8d2d6e0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/statbar/stbitem.cxx:263
    #14 0x00007f0bb5a9d4c8 in SfxDispatchController_Impl::addStatusListener (this=0x55b0c8ed6380, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...)
        at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:841
    #15 0x00007f0bb5a9d174 in SfxOfficeDispatch::addStatusListener (this=0x55b0c8f280e0, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...)
        at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:283
    #16 0x00007f0bb28a8577 in svt::StatusbarController::bindListener (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:462
    #17 0x00007f0bb28a7f09 in svt::StatusbarController::update (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:169
    #18 0x00007f0bb6d41a6b in framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > >::operator() (this=0x7ffed304b547, rElement={...})
        at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:69
    #19 0x00007f0bb6d3e5ef in std::for_each<__gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > >, std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > >, std::bidirectional_iterator_tag>, framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > > > (__first={...}, __last={...}, __f=...)
        at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786
    #20 0x00007f0bb6d3d9a5 in framework::StatusBarManager::UpdateControllers (this=0x55b0c8cefc90) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:269
    #21 0x00007f0bb6d4028b in framework::StatusBarManager::FillStatusBar (this=0x55b0c8cefc90, rItemContainer=uno::Reference to (framework::ConstItemContainer *) 0x55b0c8e017e8)
        at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:479
    #22 0x00007f0bb6d4ae38 in framework::StatusBarWrapper::initialize (this=0x55b0c8d0f060, aArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarwrapper.cxx:117
    #23 0x00007f0bb6df9104 in framework::MenuBarFactory::CreateUIElement
        (ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}, ResourceType=u"private:resource/statusbar/", _xMenuBar=uno::Reference to (framework::StatusBarWrapper *) 0x55b0c8d0f0f8, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55b0ba8b8308) at /home/michi/development/git/libreoffice/framework/source/uifactory/menubarfactory.cxx:158
    #24 0x00007f0bb6df9c0a in (anonymous namespace)::StatusBarFactory::createUIElement (this=0x55b0c8e03800, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...})
        at /home/michi/development/git/libreoffice/framework/source/uifactory/statusbarfactory.cxx:68
    #25 0x00007f0bb6df9d74 in non-virtual thunk to (anonymous namespace)::StatusBarFactory::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #26 0x00007f0bb6e01290 in (anonymous namespace)::UIElementFactoryManager::createUIElement (this=0x55b0bf803260, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...})
        at /home/michi/development/git/libreoffice/framework/source/uifactory/uielementfactorymanager.cxx:440
    #27 0x00007f0bb6e024f4 in non-virtual thunk to (anonymous namespace)::UIElementFactoryManager::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #28 0x00007f0bb6b6d427 in framework::LayoutManager::implts_createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:730
    #29 0x00007f0bb6b71852 in framework::LayoutManager::implts_createStatusBar (this=0x55b0c1e3a170, aStatusBarName="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:849
    #30 0x00007f0bb6b75bcc in framework::LayoutManager::createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1443
    #31 0x00007f0bb6b76b57 in framework::LayoutManager::requestElement (this=0x55b0c1e3a170, rResourceURL="private:resource/statusbar/statusbar")
        at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1570
    #32 0x00007f0bb595f0b5 in SfxWorkWindow::UpdateStatusBar_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1471
    #33 0x00007f0bb595e9a0 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1242
    #34 0x00007f0bb595e001 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095
    #35 0x00007f0bb59ca573 in SfxDispatcher::Update_Impl (this=0x55b0c742b5b0, bForce=false) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1123
    #36 0x00007f0bb6003921 in SfxBaseController::ConnectSfxFrame_Impl (this=0x55b0c7469930, i_eConnect=SfxBaseController::E_CONNECT) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1207
    #37 0x00007f0bb6002ade in SfxBaseController::attachFrame (this=0x55b0c7469930, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40)
        at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:531
    #38 0x00007f0bb5fd38b9 in utl::ConnectFrameControllerModel
        (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, xController=uno::Reference to (SwXTextView *) 0x55b0c7469958, xModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670)
        at include/unotools/fcm.hxx:57
    #39 0x00007f0bb5fcfec1 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView
        (i_rModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, i_rViewFactoryArgs=..., i_rViewName="Default")
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585
    #40 0x00007f0bb5fcd45c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x55b0c22dc9f0, rArgs=uno::Sequence of length 9 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40)
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764
    #41 0x00007f0bb6bc2644 in framework::LoadEnv::impl_loadContent (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180
    #42 0x00007f0bb6bbf7a5 in framework::LoadEnv::start (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415
    #43 0x00007f0bb6bbd452 in framework::LoadEnv::startLoading
        (this=0x55b0c1271ec8, sURL="private:factory/swriter", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x55b0bbbee8c8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatu--Type <RET> for more, q to quit, c to continue without paging--
    res::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311
    #44 0x00007f0bb6a56311 in framework::LoadDispatcher::impl_dispatch (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference)
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107
    #45 0x00007f0bb6a57071 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...})
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #46 0x00007f0bb6a57114 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60
    #47 0x00007f0bb80110b0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x55b0bbbee8b8, sURL="private:factory/swriter", sTarget="_default", lArguments=uno::Sequence of length 4 = {...})
        at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62
    #48 0x00007f0bb99757fd in desktop::DispatchWatcher::executeDispatchRequests (this=0x55b0c16043b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false)
        at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529
    #49 0x00007f0bb9993b5a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347
    #50 0x00007f0bb992f196 in desktop::Desktop::OpenDefault () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2276
    #51 0x00007f0bb992e5cd in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2220
    #52 0x00007f0bb992c3a3 in desktop::Desktop::OpenClients_Impl (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979
    #53 0x00007f0bb992aa3d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffed3055280, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963
    #54 0x00007f0bb02ac091 in Link<void*, void>::Call (this=0x55b0bffb6ba8, data=0x0) at include/tools/link.hxx:105
    #55 0x00007f0bb02a8291 in ImplHandleUserEvent (pSVEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    #56 0x00007f0bb02a51ba in ImplWindowFrameProc (_pWindow=0x55b0bfc9e9b0, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    #57 0x00007f0bb0e665bc in SalFrame::CallCallback (this=0x55b0bf7eaa50, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at vcl/inc/salframe.hxx:311
    #58 0x00007f0bb0e8ef5f in SalGenericDisplay::ProcessEvent (this=0x55b0baa61510, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #59 0x00007f0bb09aaddd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffed3053530) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #60 0x00007f0bb09aacb6 in SalUserEventList::DispatchUserEvents (this=0x55b0baa61510, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #61 0x00007f0bb0e8eeb5 in SalGenericDisplay::DispatchInternalEvent (this=0x55b0baa61510, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #62 0x00007f0ba628536f in call_userEventFn (data=0x55b0ba8d13e0) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:827
    #63 0x00007f0babd03d5f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #64 0x00007f0babd05fd7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #65 0x00007f0babd06740 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #66 0x00007f0ba62840ac in GtkSalData::Yield (this=0x55b0ba8d13e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:405
    #67 0x00007f0ba6289863 in GtkInstance::DoYield (this=0x55b0ba8d1290, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:439
    #68 0x00007f0bb0a75c06 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #69 0x00007f0bb0a7551f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #70 0x00007f0bb0a75300 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #71 0x00007f0bb9928a19 in desktop::Desktop::Main (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679
    #72 0x00007f0bb0a970d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #73 0x00007f0bb0a98cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #74 0x00007f0bb99a22fa in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #75 0x000055b09e4b3a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #76 0x000055b09e4b3a47 in main (argc=2, argv=0x7ffed3055488) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

[1] https://docs.gtk.org/glib/gvariant-format-strings.html#pointers

Change-Id: I87bd2840ac573426264d1dff2fd40ab292f09fc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181666
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit 38024bc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096
Reviewed-by: Xisco Fauli <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Aug 28, 2025
This fixes the below assert seen with gtk4 when
hovering over paragraph styles in the "Styles" sidebar
deck in Writer with.

    soffice.bin: /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed.

    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
    #1  0x00007fe0abe9e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007fe0abe49cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007fe0abe324ac in __GI_abort () at ./stdlib/abort.c:73
    #4  0x00007fe0abe32420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118
    #5  0x00007fe0a31b5ccc in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36
    #6  0x00007fe0aa32b044 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54
    #7  0x00007fe0549fc572 in SwModify::CallSwClientNotify (this=0x559770009880, rHint=...) at /home/michi/development/git/libreoffice/sw/source/core/attr/calbck.cxx:273
    #8  0x00007fe0549fc9b1 in sw::BroadcastingModify::CallSwClientNotify (this=0x559770009880, rHint=...) at /home/michi/development/git/libreoffice/sw/source/core/attr/calbck.cxx:297
    #9  0x00007fe054f0cd67 in SwDoc::IsUsed (this=0x55976fdd1cf0, rModify=...) at /home/michi/development/git/libreoffice/sw/source/core/doc/poolfmt.cxx:109
    #10 0x00007fe055e8fe47 in SwDocStyleSheet::IsUsed (this=0x55976fe02e80) at /home/michi/development/git/libreoffice/sw/source/uibase/app/docstyle.cxx:2481
    #11 0x00007fe0a83f603d in StyleList::QueryTooltipHdl (this=0x559771b48dd0, rEntry=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/StyleList.cxx:1753
    #12 0x00007fe0a83edd68 in StyleList::LinkStubQueryTooltipHdl (instance=0x559771b48dd0, data=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/StyleList.cxx:1743
    #13 0x00007fe09a7907bd in Link<weld::TreeIter const&, rtl::OUString>::Call (this=0x559771b27bb8, data=...) at include/tools/link.hxx:105
    #14 0x00007fe09a79075f in weld::TreeView::signal_query_tooltip (this=0x559771b27a08, rIter=...) at include/vcl/weld.hxx:1025
    #15 0x00007fe09a6e8d09 in (anonymous namespace)::GtkInstanceTreeView::signalQueryTooltip (x=382, y=153, keyboard_tip=0, tooltip=0x559769fbaa90, widget=0x559771b27400) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:14531
    #16 0x00007fe0994dedfc in _gtk_marshal_BOOLEAN__INT_INT_BOOLEAN_OBJECT (closure=0x559771b24580, return_value=0x7ffef76e15b0, n_param_values=5, param_values=0x7ffef76e1640, invocation_hint=0x7ffef76e1590, marshal_data=0x0)
        at gtk/gtkmarshalers.c:1109
    #17 0x00007fe0a967d950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #18 0x00007fe0a9691d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #19 0x00007fe0a9693032 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #20 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #21 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #22 0x00007fe0997c6ada in gtk_widget_query_tooltip (widget=0x55976892b2b0, x=382, y=153, keyboard_mode=0, tooltip=0x559769fbaa90) at ../gtk/gtkwidget.c:5114
    #23 0x00007fe0997af430 in gtk_tooltip_run_requery (widget=0x7ffef76e1a58, tooltip=0x559769fbaa90, x=0x7ffef76e1a90, y=0x7ffef76e1a8c) at ../gtk/gtktooltip.c:559
    #24 0x00007fe0997b01bb in gtk_tooltip_handle_event_internal (event_type=GDK_MOTION_NOTIFY, surface=0x559764aa88a0, target_widget=0x55976892b2b0, dx=382.953125, dy=153.796875) at ../gtk/gtktooltip.c:1009
    #25 0x00007fe0997b0065 in _gtk_tooltip_handle_event (target=0x55976892b2b0, event=0x559772515280) at ../gtk/gtktooltip.c:957
    #26 0x00007fe099686120 in gtk_main_do_event (event=0x559772515280) at ../gtk/gtkmain.c:1751
    #27 0x00007fe0997e6720 in surface_event (surface=0x559764aa88a0, event=0x559772515280, widget=0x55976a125f10) at ../gtk/gtkwindow.c:4951
    #28 0x00007fe099a684cb in _gdk_marshal_BOOLEAN__POINTERv (closure=0x55976bc7ddf0, return_value=0x7ffef76e1eb0, instance=0x559764aa88a0, args=0x7ffef76e1fb0, marshal_data=0x0, n_params=1, param_types=0x559764ac5730)
        at gdk/gdkmarshalers.c:302
    #29 0x00007fe099b50e3c in gdk_surface_event_marshallerv (closure=0x55976bc7ddf0, return_value=0x7ffef76e1eb0, instance=0x559764aa88a0, args=0x7ffef76e1fb0, marshal_data=0x0, n_params=1, param_types=0x559764ac5730)
        at ../gdk/gdksurface.c:465
    #30 0x00007fe0a967db81 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #31 0x00007fe0a9692b33 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #32 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #33 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #34 0x00007fe099b55ee7 in gdk_surface_handle_event (event=0x559772515280) at ../gdk/gdksurface.c:3001
    #35 0x00007fe099b0ae91 in _gdk_event_emit (event=0x559772515280) at ../gdk/gdkevents.c:491
    #36 0x00007fe099b0b946 in _gdk_event_queue_flush (display=0x5597649c1140) at ../gdk/gdkevents.c:856
    #37 0x00007fe099b54d84 in gdk_surface_flush_events (clock=0x559764a437b0, data=0x559764aa88a0) at ../gdk/gdksurface.c:2419
    #38 0x00007fe0a967db81 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #39 0x00007fe0a96938b8 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #40 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #41 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #42 0x00007fe099b13cae in _gdk_frame_clock_emit_flush_events (frame_clock=0x559764a437b0) at ../gdk/gdkframeclock.c:701
    #43 0x00007fe099b1492d in gdk_frame_clock_flush_idle (data=0x559764a437b0) at ../gdk/gdkframeclockidle.c:391
    #44 0x00007fe09e50744e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #45 0x00007fe09e5043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #46 0x00007fe09e5065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #47 0x00007fe09e506d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    #48 0x00007fe09a683dac in GtkSalData::Yield (this=0x5597637370a0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:403
    #49 0x00007fe09a689403 in GtkInstance::DoYield (this=0x559763736f50, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:440
    #50 0x00007fe0a328c606 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    #51 0x00007fe0a328bf1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    #52 0x00007fe0a328bd00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    #53 0x00007fe0ac129915 in desktop::Desktop::Main (this=0x7ffef76e4160) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    #54 0x00007fe0a32b8526 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #55 0x00007fe0a32ba019 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #56 0x00007fe0ac1a35ca in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #57 0x0000559759c3b9fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #58 0x0000559759c3b9d7 in main (argc=2, argv=0x7ffef76e4368) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: If520816e8f748a7f082226d216b10aa5a2c27717
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190318
Reviewed-by: Michael Weghorn <[email protected]>
Tested-by: Jenkins
tdf-gerrit pushed a commit that referenced this pull request Aug 30, 2025
...cf.

> warn:sal.osl:998109:998080:sal/osl/unx/module.cxx:103: dlopen(.../core/instdir/program/libacclo.so, 1): .../core/instdir/program/libacclo.so: undefined symbol: _ZTI7TabPage

and the failing assert at

>  #0 in vcl::AccessibleFactoryAccess::ensureInitialized() at core/vcl/source/helper/svtaccessiblefactory.cxx:252:80
>  #1 in vcl::AccessibleFactoryAccess::getFactory() at core/vcl/source/helper/svtaccessiblefactory.cxx:280:9
>  #2 in IconView::CreateAccessible() at core/vcl/source/treelist/iconview.cxx:248:44
>  #3 in SalInstanceIconView::SalInstanceIconView(IconView*, SalInstanceBuilder*, bool) at core/vcl/source/app/salvtables.cxx:5398:45
>  #4 in JSWidget<SalInstanceIconView, IconView>::JSWidget(JSDialogSender*, IconView*, SalInstanceBuilder*, bool) at core/vcl/inc/jsdialog/jsdialogbuilder.hxx:300:11
>  #5 in JSIconView::JSIconView(JSDialogSender*, IconView*, SalInstanceBuilder*, bool) at core/vcl/jsdialog/jsdialogbuilder.cxx:1892:7
>  #6 in std::__detail::_MakeUniq<JSIconView>::__single_object std::make_unique<JSIconView, JSInstanceBuilder*, IconView*&, JSInstanceBuilder*, bool>(JSInstanceBuilder*&&, IconView*&, JSInstanceBuilder*&&, bool&&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/unique_ptr.h:1085:34
>  #7 in JSInstanceBuilder::weld_icon_view(rtl::OUString const&) at core/vcl/jsdialog/jsdialogbuilder.cxx:772:23
>  #8 in StylesPreviewWindow_Base::StylesPreviewWindow_Base(weld::Builder&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/svx/source/tbxctrls/StylesPreviewWindow.cxx:449:30
>  #9 in StylesPreviewWindow_Impl::StylesPreviewWindow_Impl(vcl::Window*, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/svx/source/tbxctrls/StylesPreviewWindow.cxx:661:7
>  #10 in VclPtr<StylesPreviewWindow_Impl> VclPtr<StylesPreviewWindow_Impl>::Create<VclPtr<vcl::Window>&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&>(VclPtr<vcl::Window>&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&) at core/include/vcl/vclptr.hxx:130:46
>  #11 in StylesPreviewToolBoxControl::createItemWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&) at core/svx/source/tbxctrls/StylesPreviewToolBoxControl.cxx:159:25
>  #12 in non-virtual thunk to StylesPreviewToolBoxControl::createItemWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&) at core/svx/source/tbxctrls/StylesPreviewToolBoxControl.cxx
>  #13 in sfx2::sidebar::ControllerFactory::CreateToolBoxController(ToolBox*, o3tl::strong_int<unsigned short, ToolBoxItemIdTag>, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::uno::Reference<com::sun::star::frame::XController> const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, int, bool) at core/sfx2/source/sidebar/ControllerFactory.cxx:117:63
>  #14 in sfx2::sidebar::SidebarToolBox::CreateController(o3tl::strong_int<unsigned short, ToolBoxItemIdTag>, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, int, bool) at core/sfx2/source/sidebar/SidebarToolBox.cxx:169:59
>  #15 in sfx2::sidebar::SidebarToolBox::InsertItem(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, ToolBoxItemBits, Size const&, unsigned long) at core/sfx2/source/sidebar/SidebarToolBox.cxx:137:5
>  #16 in VclBuilder::makeObject(vcl::Window*, rtl::OUString const&, rtl::OUString const&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&) at core/vcl/source/window/builder.cxx:1973:27
>  #17 in VclBuilder::insertObject(vcl::Window*, rtl::OUString const&, std::basic_string_view<char, std::char_traits<char>>, rtl::OUString const&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&) at core/vcl/source/window/builder.cxx:2350:25
>  #18 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:285:29
>  #19 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37
>  #20 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21
>  #21 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37
>  #22 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21
>  #23 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37
>  #24 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21
>  #25 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37
>  #26 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::processUIFile(vcl::Window*) at core/include/vcl/widgetbuilder.hxx:70:13
>  #27 in VclBuilder::VclBuilder(vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, rtl::OUString, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>, bool, std::unique_ptr<NotebookBarAddonsItem, std::default_delete<NotebookBarAddonsItem>>) at core/vcl/source/window/builder.cxx:535:5
>  #28 in SalInstanceBuilder::SalInstanceBuilder(vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/vcl/source/app/salvtables.cxx:7164:22
>  #29 in JSInstanceBuilder::JSInstanceBuilder(weld::Widget*, vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, JSInstanceBuilder::Type, unsigned long, std::basic_string_view<char16_t, std::char_traits<char16_t>> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/vcl/jsdialog/jsdialogbuilder.cxx:276:7
>  #30 in std::__detail::_MakeUniq<JSInstanceBuilder>::__single_object std::make_unique<JSInstanceBuilder, std::nullptr_t, vcl::Window*&, rtl::OUString const&, rtl::OUString const&, JSInstanceBuilder::Type, unsigned long&, char16_t const (&) [1], com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&>(std::nullptr_t&&, vcl::Window*&, rtl::OUString const&, rtl::OUString const&, JSInstanceBuilder::Type&&, unsigned long&, char16_t const (&) [1], com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/unique_ptr.h:1085:34
>  #31 in JSInstanceBuilder::CreateNotebookbarBuilder(vcl::Window*, rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, unsigned long) at core/vcl/jsdialog/jsdialogbuilder.cxx:331:12
>  #32 in WeldedTabbedNotebookbar::WeldedTabbedNotebookbar(VclPtr<vcl::Window> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, unsigned long) at core/vcl/source/control/WeldedTabbedNotebookbar.cxx:17:18
>  #33 in sfx2::SfxNotebookBar::StateMethod(SystemWindow*, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, bool) at core/sfx2/source/notebookbar/SfxNotebookBar.cxx:513:29
>  #34 in sfx2::SfxNotebookBar::StateMethod(SfxBindings&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, bool) at core/sfx2/source/notebookbar/SfxNotebookBar.cxx:423:12
>  #35 in SwDocShell::GetState(SfxItemSet&) at core/sw/source/uibase/app/docsh.cxx:1117:28
>  #36 in SfxStubSwDocShellGetState(SfxShell*, SfxItemSet&) at core/workdir/SdiTarget/sw/sdi/swslots.hxx:1427:1
>  #37 in SfxShell::GetSlotState(unsigned short, SfxInterface const*, SfxItemSet*) at core/sfx2/source/control/shell.cxx:492:13
>  #38 in SfxDispatcher::QueryState(unsigned short, SfxPoolItemHolder&) at core/sfx2/source/control/dispatch.cxx:2051:26
>  #39 in SfxApplication::MiscExec_Impl(SfxRequest&) at core/sfx2/source/appl/appserv.cxx:1144:50
>  #40 in SfxStubSfxApplicationMiscExec_Impl(SfxShell*, SfxRequest&) at core/workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1307:1
>  #41 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) at core/sfx2/source/control/dispatch.cxx:255:9
>  #42 in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) at core/sfx2/source/control/dispatch.cxx:754:9
>  #43 in SfxDispatcher::Execute(unsigned short, SfxCallMode, SfxItemSet const*, SfxItemSet const*, unsigned short) at core/sfx2/source/control/dispatch.cxx:813:9
>  #44 in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/sfx2/source/control/unoctitm.cxx:716:46
>  #45 in SfxOfficeDispatch::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at core/sfx2/source/control/unoctitm.cxx:255:20
>  #46 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:63:12
>  #47 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:73:12
>  #48 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:94:12
>  #49 in doc_postUnoCommand(_LibreOfficeKitDocument*, char const*, char const*, bool) at core/desktop/source/lib/init.cxx:5617:19
>  #50 in ChildSession::unoCommand(StringVector const&) at online/kit/ChildSession.cpp:2357:25
>  #51 in ChildSession::_handleInput(char const*, int) at online/kit/ChildSession.cpp:703:20
>  #52 in Session::handleMessage(std::vector<char, std::allocator<char>> const&) at online/common/Session.cpp
>  #53 in Document::forwardToChild(std::basic_string_view<char, std::char_traits<char>>, std::vector<char, std::allocator<char>> const&) at online/kit/Kit.cpp:2283:26
>  #54 in Document::drainQueue() at online/kit/Kit.cpp:2553:17
>  #55 in KitSocketPoll::drainQueue() at online/kit/Kit.cpp:2961:20
>  #56 in KitSocketPoll::kitPoll(int) at online/kit/Kit.cpp:3034:13
>  #57 in SvpSalInstance::ImplYield(bool, bool) at core/vcl/headless/svpinst.cxx:463:31
>  #58 in SvpSalInstance::DoYield(bool, bool) at core/vcl/headless/svpinst.cxx:504:21
>  #59 in ImplYield(bool, bool) at core/vcl/source/app/svapp.cxx:389:48
>  #60 in Application::Yield() at core/vcl/source/app/svapp.cxx:492:5
>  #61 in Application::Execute() at core/vcl/source/app/svapp.cxx:364:13
>  #62 in desktop::Desktop::Main() at core/desktop/source/app/app.cxx:1680:13
>  #63 in ImplSVMain() at core/vcl/source/app/svmain.cxx:228:35
>  #64 in SVMain() at core/vcl/source/app/svmain.cxx:246:12
>  #65 in soffice_main at core/desktop/source/app/sofficemain.cxx:121:12
>  #66 in lo_runLoop(_LibreOfficeKit*, int (*)(void*, int), void (*)(void*), void*) at core/desktop/source/lib/init.cxx:7849:9
>  #67 in lokit_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool, bool, bool, bool, bool, unsigned long) at online/kit/Kit.cpp:3928:16
>  #68 in createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0::operator()() const at online/kit/ForKit.cpp:553:13
>  #69 in void std::__invoke_impl<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>(std::__invoke_other, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:63:14
>  #70 in std::enable_if<is_invocable_r_v<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>, void>::type std::__invoke_r<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>(createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:113:2
>  #71 in std::_Function_handler<void (), createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0>::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:292:9
>  #72 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:593:9
>  #73 in forkKit(std::function<void ()> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::function<void (int)> const&) at online/kit/ForKit.cpp:496:9
>  #74 in createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool) at online/kit/ForKit.cpp:573:20
>  #75 in createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0::operator()() const at online/kit/ForKit.cpp:620:33
>  #76 in void std::__invoke_impl<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>(std::__invoke_other, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:63:14
>  #77 in std::enable_if<is_invocable_r_v<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>, void>::type std::__invoke_r<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>(createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:113:2
>  #78 in std::_Function_handler<void (), createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0>::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:292:9
>  #79 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:593:9
>  #80 in forkKit(std::function<void ()> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::function<void (int)> const&) at online/kit/ForKit.cpp:496:9
>  #81 in createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) at online/kit/ForKit.cpp:657:16
>  #82 in createSubForKits(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) at online/kit/ForKit.cpp:674:13
>  #83 in forkit_main(int, char**) at online/kit/ForKit.cpp:1102:17
>  #84 in __libc_start_call_main at <null>

(and this is no longer relevant on master after
9283da8 "a11y: Merge accessibility module into
vcl")

Change-Id: Icc49bcf8e9bd95b4fdb86b9420cc360e5fa17c08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190390
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Andras Timar <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Sep 16, 2025
...presumably after 981d8be "freetype: upgrade
to 2.14.1", causing e.g. CppunitTest_chart2_pivot_chart_test to fail with

> workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31: runtime error: signed integer overflow: 2161 - -9223372036854775808 cannot be represented in type 'FT_Pos' (aka 'long')
>  #0 in af_glyph_hints_apply_vertical_separation_adjustments at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31
>  #1 in af_latin_hints_apply at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:5054:9
>  #2 in af_loader_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afloader.c:411:17
>  #3 in af_autofitter_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afmodule.c:498:13
>  #4 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1055:19
>  #5  at <null> (/lib64/libcairo.so.2 +0x9be4b)
>  #6  at <null> (/lib64/libcairo.so.2 +0xa0df1)
>  #7  at <null> (/lib64/libcairo.so.2 +0x528b6)
>  #8  at <null> (/lib64/libcairo.so.2 +0x57184)
>  #9  at <null> (/lib64/libcairo.so.2 +0x179f6)
>  #10  at <null> (/lib64/libcairo.so.2 +0x1a5f7)
>  #11  at <null> (/lib64/libcairo.so.2 +0x27459)
>  #12  at <null> (/lib64/libcairo.so.2 +0x701c8)
>  #13  at <null> (/lib64/libcairo.so.2 +0x22a8b)
>  #14 in cairo_show_glyphs at <null> (/lib64/libcairo.so.2 +0x78a7d)
>  #15 in CairoTextRender::ImplDrawTextLayout(_cairo*, Color const&, GenericSalLayout const&, CairoCommon*, bool) at vcl/unx/generic/gdi/cairotextrender.cxx:517:9
>  #16 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:292:5
>  #17 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:74:23
>  #18 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:314:18
>  #19 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:311:16
>  #20 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:464:9
>  #21 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, std::span<double const, 18446744073709551615ul>, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:750:9
>  #22 in ScOutputData::LayoutStringsImpl(bool, RowInfo*, short, int, unsigned long, std::optional<short>&, std::optional<short>&, short, std::__debug::vector<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>, std::allocator<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>>>&, ScPatternAttr const*&, SfxItemSet const*&, SvtScriptType&, ScDrawStringsVars&, bool&, long, long, bool, bool&, vcl::PDFExtOutDevData*, long, std::__debug::vector<double, std::allocator<double>>&) at sc/source/ui/view/output2.cxx:2248:28
>  #23 in ScOutputData::LayoutStrings(bool) at sc/source/ui/view/output2.cxx:1565:17
>  #24 in ScOutputData::DrawStrings(bool) at sc/source/ui/view/output2.cxx:1487:5
>  #25 in ScPrintFunc::DrawToDev(ScDocument&, OutputDevice*, double, tools::Rectangle const&, ScViewData&, bool) at sc/source/ui/view/printfun.cxx:604:17
>  #26 in ScDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sc/source/ui/docshell/docsh4.cxx:2656:9
>  #27 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #28 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #29 in SfxObjectShell::CreatePreview_Impl(bool, bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:201:40
>  #30 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:113:9
>  #31 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:4157:29
>  #32 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:4112:33
>  #33 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1839:19
>  #34 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3421:39
>  #35 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3212:9
>  #36 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&) at sfx2/source/doc/objserv.cxx:323:19
>  #37 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3253:42
>  #38 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1834:13
>  #39 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:194:16
>  #40 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #41 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:199:5
>  #42 in PivotChartTest::testRoundtrip() at chart2/qa/extras/PivotChartTest.cxx:354:5

Change-Id: I6bb42532fce1291b4208108ab1898b94dda02e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Sep 17, 2025
...presumably after 981d8be "freetype: upgrade
to 2.14.1", causing e.g. CppunitTest_chart2_pivot_chart_test to fail with

> workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31: runtime error: signed integer overflow: 2161 - -9223372036854775808 cannot be represented in type 'FT_Pos' (aka 'long')
>  #0 in af_glyph_hints_apply_vertical_separation_adjustments at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31
>  #1 in af_latin_hints_apply at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:5054:9
>  #2 in af_loader_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afloader.c:411:17
>  #3 in af_autofitter_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afmodule.c:498:13
>  #4 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1055:19
>  #5  at <null> (/lib64/libcairo.so.2 +0x9be4b)
>  #6  at <null> (/lib64/libcairo.so.2 +0xa0df1)
>  #7  at <null> (/lib64/libcairo.so.2 +0x528b6)
>  #8  at <null> (/lib64/libcairo.so.2 +0x57184)
>  #9  at <null> (/lib64/libcairo.so.2 +0x179f6)
>  #10  at <null> (/lib64/libcairo.so.2 +0x1a5f7)
>  #11  at <null> (/lib64/libcairo.so.2 +0x27459)
>  #12  at <null> (/lib64/libcairo.so.2 +0x701c8)
>  #13  at <null> (/lib64/libcairo.so.2 +0x22a8b)
>  #14 in cairo_show_glyphs at <null> (/lib64/libcairo.so.2 +0x78a7d)
>  #15 in CairoTextRender::ImplDrawTextLayout(_cairo*, Color const&, GenericSalLayout const&, CairoCommon*, bool) at vcl/unx/generic/gdi/cairotextrender.cxx:517:9
>  #16 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:292:5
>  #17 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:74:23
>  #18 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:314:18
>  #19 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:311:16
>  #20 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:464:9
>  #21 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, std::span<double const, 18446744073709551615ul>, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:750:9
>  #22 in ScOutputData::LayoutStringsImpl(bool, RowInfo*, short, int, unsigned long, std::optional<short>&, std::optional<short>&, short, std::__debug::vector<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>, std::allocator<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>>>&, ScPatternAttr const*&, SfxItemSet const*&, SvtScriptType&, ScDrawStringsVars&, bool&, long, long, bool, bool&, vcl::PDFExtOutDevData*, long, std::__debug::vector<double, std::allocator<double>>&) at sc/source/ui/view/output2.cxx:2248:28
>  #23 in ScOutputData::LayoutStrings(bool) at sc/source/ui/view/output2.cxx:1565:17
>  #24 in ScOutputData::DrawStrings(bool) at sc/source/ui/view/output2.cxx:1487:5
>  #25 in ScPrintFunc::DrawToDev(ScDocument&, OutputDevice*, double, tools::Rectangle const&, ScViewData&, bool) at sc/source/ui/view/printfun.cxx:604:17
>  #26 in ScDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sc/source/ui/docshell/docsh4.cxx:2656:9
>  #27 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #28 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #29 in SfxObjectShell::CreatePreview_Impl(bool, bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:201:40
>  #30 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:113:9
>  #31 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:4157:29
>  #32 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:4112:33
>  #33 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1839:19
>  #34 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3421:39
>  #35 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3212:9
>  #36 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&) at sfx2/source/doc/objserv.cxx:323:19
>  #37 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3253:42
>  #38 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1834:13
>  #39 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:194:16
>  #40 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #41 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:199:5
>  #42 in PivotChartTest::testRoundtrip() at chart2/qa/extras/PivotChartTest.cxx:354:5

Change-Id: I6bb42532fce1291b4208108ab1898b94dda02e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit a8133d2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191064
Reviewed-by: Xisco Fauli <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Sep 17, 2025
...presumably after 981d8be "freetype: upgrade
to 2.14.1", causing e.g. CppunitTest_chart2_pivot_chart_test to fail with

> workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31: runtime error: signed integer overflow: 2161 - -9223372036854775808 cannot be represented in type 'FT_Pos' (aka 'long')
>  #0 in af_glyph_hints_apply_vertical_separation_adjustments at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31
>  #1 in af_latin_hints_apply at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:5054:9
>  #2 in af_loader_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afloader.c:411:17
>  #3 in af_autofitter_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afmodule.c:498:13
>  #4 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1055:19
>  #5  at <null> (/lib64/libcairo.so.2 +0x9be4b)
>  #6  at <null> (/lib64/libcairo.so.2 +0xa0df1)
>  #7  at <null> (/lib64/libcairo.so.2 +0x528b6)
>  #8  at <null> (/lib64/libcairo.so.2 +0x57184)
>  #9  at <null> (/lib64/libcairo.so.2 +0x179f6)
>  #10  at <null> (/lib64/libcairo.so.2 +0x1a5f7)
>  #11  at <null> (/lib64/libcairo.so.2 +0x27459)
>  #12  at <null> (/lib64/libcairo.so.2 +0x701c8)
>  #13  at <null> (/lib64/libcairo.so.2 +0x22a8b)
>  #14 in cairo_show_glyphs at <null> (/lib64/libcairo.so.2 +0x78a7d)
>  #15 in CairoTextRender::ImplDrawTextLayout(_cairo*, Color const&, GenericSalLayout const&, CairoCommon*, bool) at vcl/unx/generic/gdi/cairotextrender.cxx:517:9
>  #16 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:292:5
>  #17 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:74:23
>  #18 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:314:18
>  #19 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:311:16
>  #20 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:464:9
>  #21 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, std::span<double const, 18446744073709551615ul>, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:750:9
>  #22 in ScOutputData::LayoutStringsImpl(bool, RowInfo*, short, int, unsigned long, std::optional<short>&, std::optional<short>&, short, std::__debug::vector<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>, std::allocator<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>>>&, ScPatternAttr const*&, SfxItemSet const*&, SvtScriptType&, ScDrawStringsVars&, bool&, long, long, bool, bool&, vcl::PDFExtOutDevData*, long, std::__debug::vector<double, std::allocator<double>>&) at sc/source/ui/view/output2.cxx:2248:28
>  #23 in ScOutputData::LayoutStrings(bool) at sc/source/ui/view/output2.cxx:1565:17
>  #24 in ScOutputData::DrawStrings(bool) at sc/source/ui/view/output2.cxx:1487:5
>  #25 in ScPrintFunc::DrawToDev(ScDocument&, OutputDevice*, double, tools::Rectangle const&, ScViewData&, bool) at sc/source/ui/view/printfun.cxx:604:17
>  #26 in ScDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sc/source/ui/docshell/docsh4.cxx:2656:9
>  #27 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #28 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #29 in SfxObjectShell::CreatePreview_Impl(bool, bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:201:40
>  #30 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:113:9
>  #31 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:4157:29
>  #32 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:4112:33
>  #33 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1839:19
>  #34 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3421:39
>  #35 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3212:9
>  #36 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&) at sfx2/source/doc/objserv.cxx:323:19
>  #37 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3253:42
>  #38 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1834:13
>  #39 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:194:16
>  #40 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #41 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:199:5
>  #42 in PivotChartTest::testRoundtrip() at chart2/qa/extras/PivotChartTest.cxx:354:5

Change-Id: I6bb42532fce1291b4208108ab1898b94dda02e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit a8133d2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191064
Reviewed-by: Xisco Fauli <[email protected]>
(cherry picked from commit fb9337d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191096
tdf-gerrit pushed a commit that referenced this pull request Sep 18, 2025
 coolforkit-ns: /home/mk/core/vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool):
 Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not
 owned!"' failed.

Seen with this call stack:

 #0  0x00007f71b2b7ee96 in __GI___assert_fail (
     assertion=0x7f71aa2c4de0 "ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && \"SolarMutex not owned!\"", file=0x7f71aa2c4db8 "/home/mk/core/vcl/source/app/dbggui.cxx", line=36,
     function=0x7f71aa2c4d90 "void ImplDbgTestSolarMutex(bool)") at ./assert/assert.c:103
 #1  0x00007f71a952e69b in ImplDbgTestSolarMutex (owned=true) at /home/mk/core/vcl/source/app/dbggui.cxx:36
 #2  0x00007f71ab311ee0 in DbgTestSolarMutex (owned=true) at /home/mk/core/tools/source/debug/debug.cxx:54
 #3  0x00007f719ae4156d in SwModify::Add (this=0x55ace7ff8ec0, rDepend=...)
     at /home/mk/core/sw/source/core/attr/calbck.cxx:172
 #4  0x00007f719b42e062 in SwContentNode::SwContentNode (this=0x55ace8021f50, rWhere=..., nNdType=SwNodeType::Text, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/node.cxx:1082
 #5  0x00007f719ba84bee in SwTextNode::SwTextNode (this=0x55ace8021f50, rWhere=..., pTextColl=0x55ace7ff8ec0, pAutoAttr=0x0) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:219
 #6  0x00007f719ba84661 in SwNodes::MakeTextNode (this=0x55ace83b0ee0, rWhere=..., pColl=0x55ace7ff8ec0, bNewFrames=true) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:133
 #7  0x00007f719b442347 in SwNodes::MakeTextSection (this=0x55ace83b0ee0, rWhere=..., eSttNdTyp=SwNormalStartNode, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/nodes.cxx:1953
 #8  0x00007f719b18c9a2 in SwRangeRedline::MoveToSection (this=0x55ace8302bd0) at /home/mk/core/sw/source/core/doc/docredln.cxx:1962
 #9  0x00007f719b18b8c8 in SwRangeRedline::ShowOriginal (this=0x55ace8302bd0, nLoop=0, nMyPos=3) at /home/mk/core/sw/source/core/doc/docredln.cxx:1772
 #10 0x00007f719c650b17 in (anonymous namespace)::HideNewerShowOlder::Hide (pRedline=0x55ace8302bd0, rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:934
 #11 0x00007f719c650668 in (anonymous namespace)::HideNewerShowOlder::HideNewerShowOlder (this=0x7ffea7e20b60, limit=..., rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:885
 #12 0x00007f719c651152 in (anonymous namespace)::GetDocStructureTrackChanges (rJsonWriter=..., pDocShell=0x55ace7d72d00, filterArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:997
 #13 0x00007f719c651cc3 in (anonymous namespace)::GetDocStructure (rJsonWriter=..., pDocShell=0x55ace7d72d00, rArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1077
 #14 0x00007f719c6524a4 in SwXTextDocument::getCommandValues (this=0x55ace836de60, rJsonWriter=..., rCommand=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1162
 #15 0x00007f71b272492f in lo_extractDocumentStructureRequest (pFilePath=0x55ace4085040 "file:///tmp/user/docs/IvJPNWKKqE4D3jXV/works.docx", pFilter=0x55ace7b2a450 "trackchanges,contextLen:100") at /home/mk/core/desktop/source/lib/init.cxx:3352
 #16 0x000055accb8ae888 in lok::Office::extractDocumentStructureRequest (pFilter=<optimized out>, pFilePath=<optimized out>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1301
 #17 ChildSession::_handleInput (this=0x55ace78ead30, buffer=<optimized out>, length=<optimized out>) at kit/ChildSession.cpp:371
 #18 0x000055accb95f62c in Session::handleMessage (this=0x55ace78ead30, data=...) at common/Session.cpp:326
 #19 0x000055accb901e25 in Document::forwardToChild (this=0x55ace7a662b0, prefix=..., payload=...) at kit/Kit.cpp:2283
 #20 0x000055accb902a8e in Document::drainQueue (this=0x55ace7a662b0) at /usr/include/c++/13/string_view:146
 #21 0x000055accb9036cd in KitSocketPoll::drainQueue (this=0x55ace7a8c880) at kit/Kit.cpp:2961
 #22 KitSocketPoll::kitPoll (this=0x55ace7a8c880, timeoutMicroS=<optimized out>) at kit/Kit.cpp:3034
 #23 0x00007f71a99ac661 in SvpSalInstance::ImplYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:463
 #24 0x00007f71a99ac938 in SvpSalInstance::DoYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:504
 #25 0x00007f71a95f88d9 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/mk/core/vcl/source/app/svapp.cxx:389
 #26 0x00007f71a95f9794 in Application::Yield () at /home/mk/core/vcl/source/app/svapp.cxx:492
 #27 0x00007f71a95f855a in Application::Execute () at /home/mk/core/vcl/source/app/svapp.cxx:364
 #28 0x00007f71b26602a7 in desktop::Desktop::Main (this=0x7ffea7e23f30) at /home/mk/core/desktop/source/app/app.cxx:1680
 #29 0x00007f71a96249f1 in ImplSVMain () at /home/mk/core/vcl/source/app/svmain.cxx:228
 #30 0x00007f71a9624ad6 in SVMain () at /home/mk/core/vcl/source/app/svmain.cxx:246
 #31 0x00007f71b26d300e in soffice_main () at /home/mk/core/desktop/source/app/sofficemain.cxx:121
 #32 0x00007f71b2743c40 in lo_runLoop (pPollCallback=0x55accb904070 <pollCallback(void*, int)>, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pData=0x55ace7a8c880) at /home/mk/core/desktop/source/lib/init.cxx:7873
 #33 0x000055accb90c3af in lok::Office::runLoop (pData=0x55ace7a8c880, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pPollCallback=0x55accb904070 <pollCallback(void*, int)>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1156
 #34 lokit_main (childRoot=..., jailId=..., configId=..., sysTemplate=..., loTemplate=..., noCapabilities=<optimized out>, noSeccomp=<optimized out>, useMountNamespaces=<optimized out>, queryVersion=<optimized out>, displayVersion=<optimized out>, sysTemplateIncomplete=<optimized out>, numericIdentifier=<optimized out>) at kit/Kit.cpp:3926
 #35 0x000055accb8c7ea9 in operator() (__closure=<optimized out>) at kit/ForKit.cpp:556
 #36 std::__invoke_impl<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
 #37 std::__invoke_r<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
 #38 std::_Function_handler<void(), createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/13/bits/std_function.h:290
 #39 0x000055accb8cb1c2 in std::function<void ()>::operator()() const (this=0x7ffea7e24e90) at /usr/include/c++/13/bits/std_function.h:591
 #40 forkKit(const std::function<void()> &, const std::string &, const std::function<void(int)> &) (childFunc=..., childProcessName=..., parentFunc=...) at kit/ForKit.cpp:499
 #41 0x000055accb8cc6ef in createLibreOfficeKit (childRoot=..., sysTemplate=..., loTemplate=..., useMountNamespaces=<optimized out>, queryVersion=<optimized out>, configId=...) at kit/ForKit.cpp:576
 #42 0x000055accb8d1578 in forkit_main (argc=<optimized out>, argv=<optimized out>) at kit/ForKit.cpp:1042
 #43 0x00007f71b2b6ed90 in __libc_start_call_main (main=main@entry=0x55accb8835a0 <main(int, char**)>, argc=argc@entry=10, argv=argv@entry=0x7ffea7e25e58) at ../sysdeps/nptl/libc_start_call_main.h:58
 #44 0x00007f71b2b6ee40 in __libc_start_main_impl (main=0x55accb8835a0 <main(int, char**)>, argc=10, argv=0x7ffea7e25e58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea7e25e48) at ../csu/libc-start.c:392
 #45 0x000055accb884845 in _start ()

Change-Id: Ib7e8f93b094db925b6bb60134d23aeb325a10f54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191016
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Jenkins CollaboraOffice <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Sep 19, 2025
...presumably after 981d8be "freetype: upgrade
to 2.14.1", causing e.g. CppunitTest_chart2_pivot_chart_test to fail with

> workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31: runtime error: signed integer overflow: 2161 - -9223372036854775808 cannot be represented in type 'FT_Pos' (aka 'long')
>  #0 in af_glyph_hints_apply_vertical_separation_adjustments at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:3708:31
>  #1 in af_latin_hints_apply at workdir/UnpackedTarball/freetype/src/autofit/aflatin.c:5054:9
>  #2 in af_loader_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afloader.c:411:17
>  #3 in af_autofitter_load_glyph at workdir/UnpackedTarball/freetype/src/autofit/afmodule.c:498:13
>  #4 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1055:19
>  #5  at <null> (/lib64/libcairo.so.2 +0x9be4b)
>  #6  at <null> (/lib64/libcairo.so.2 +0xa0df1)
>  #7  at <null> (/lib64/libcairo.so.2 +0x528b6)
>  #8  at <null> (/lib64/libcairo.so.2 +0x57184)
>  #9  at <null> (/lib64/libcairo.so.2 +0x179f6)
>  #10  at <null> (/lib64/libcairo.so.2 +0x1a5f7)
>  #11  at <null> (/lib64/libcairo.so.2 +0x27459)
>  #12  at <null> (/lib64/libcairo.so.2 +0x701c8)
>  #13  at <null> (/lib64/libcairo.so.2 +0x22a8b)
>  #14 in cairo_show_glyphs at <null> (/lib64/libcairo.so.2 +0x78a7d)
>  #15 in CairoTextRender::ImplDrawTextLayout(_cairo*, Color const&, GenericSalLayout const&, CairoCommon*, bool) at vcl/unx/generic/gdi/cairotextrender.cxx:517:9
>  #16 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:292:5
>  #17 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:74:23
>  #18 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:314:18
>  #19 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:311:16
>  #20 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:464:9
>  #21 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, std::span<double const, 18446744073709551615ul>, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:750:9
>  #22 in ScOutputData::LayoutStringsImpl(bool, RowInfo*, short, int, unsigned long, std::optional<short>&, std::optional<short>&, short, std::__debug::vector<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>, std::allocator<std::unique_ptr<ScPatternAttr, std::default_delete<ScPatternAttr>>>>&, ScPatternAttr const*&, SfxItemSet const*&, SvtScriptType&, ScDrawStringsVars&, bool&, long, long, bool, bool&, vcl::PDFExtOutDevData*, long, std::__debug::vector<double, std::allocator<double>>&) at sc/source/ui/view/output2.cxx:2248:28
>  #23 in ScOutputData::LayoutStrings(bool) at sc/source/ui/view/output2.cxx:1565:17
>  #24 in ScOutputData::DrawStrings(bool) at sc/source/ui/view/output2.cxx:1487:5
>  #25 in ScPrintFunc::DrawToDev(ScDocument&, OutputDevice*, double, tools::Rectangle const&, ScViewData&, bool) at sc/source/ui/view/printfun.cxx:604:17
>  #26 in ScDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sc/source/ui/docshell/docsh4.cxx:2656:9
>  #27 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #28 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #29 in SfxObjectShell::CreatePreview_Impl(bool, bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:201:40
>  #30 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:113:9
>  #31 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:4157:29
>  #32 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:4112:33
>  #33 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1839:19
>  #34 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3421:39
>  #35 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3212:9
>  #36 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&) at sfx2/source/doc/objserv.cxx:323:19
>  #37 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3253:42
>  #38 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1834:13
>  #39 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:194:16
>  #40 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #41 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:199:5
>  #42 in PivotChartTest::testRoundtrip() at chart2/qa/extras/PivotChartTest.cxx:354:5

Change-Id: I6bb42532fce1291b4208108ab1898b94dda02e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit a8133d2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191064
Reviewed-by: Xisco Fauli <[email protected]>
(cherry picked from commit fb9337d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191096
tdf-gerrit pushed a commit that referenced this pull request Oct 6, 2025
After

    commit 94442bd94e504b067efd0b992525b53fc660f114
    Author: Michael Weghorn <[email protected]>
    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 <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 6, 2025
When the TreeView has special checkboxes enabled,
block signals while calling QStandardItem::setCheckable
for the item in the first column. This prevents triggering
the QAbstractItemModel::dataChanged signal which would trigger
weld::TreeView::signal_toggled from
QtInstanceTreeView::handleDataChanged for the newly
inserted row.
Since the row is new, there is no logical change
from a previous value from the weld API perspective.

This fixes a crash otherwise seen with upcoming
commit

    Change-Id: I6262b0e9d235f9efc6cde81614d42ba28025989d
    Author: Michael Weghorn <[email protected]>
    Date:   Mon Oct 6 11:28:33 2025 +0200

        tdf#130857 qt weld: Support Writer "Caption" dialog

 when triggering the then newly supported dialog.

Backtrace:

    Thread 1 received signal SIGSEGV, Segmentation fault.
    rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839
    839             return pData->length == 0;
    (rr) bt
    #0  rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839
    #1  0x00007fd750a9fb07 in SwCaptionOptPage::UpdateEntry (this=0x55d1ea326dc0, nSelEntry=0) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1235
    #2  0x00007fd750aa4e42 in SwCaptionOptPage::ToggleEntryHdl (this=0x55d1ea326dc0, rRowCol={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1344
    #3  0x00007fd750a9ce4d in SwCaptionOptPage::LinkStubToggleEntryHdl (instance=0x55d1ea326dc0, data={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1342
    #4  0x00007fd78ef17411 in Link<std::pair<weld::TreeIter const&, int> const&, void>::Call (this=0x55d1ea332d70, data={...}) at include/tools/link.hxx:105
    #5  0x00007fd78ef112f1 in weld::TreeView::signal_toggled (this=0x55d1ea332d00, rIterCol={...}) at include/vcl/weld.hxx:1011
    #6  0x00007fd78eef8507 in QtInstanceTreeView::handleDataChanged (this=0x55d1ea332b50, rTopLeft=..., rBottomRight=..., rRoles=...) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:1214
    #7  0x00007fd78ef17f4a 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()#1}::operator()() const (this=0x7ffe16a0ef90)
            at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #8  0x00007fd78ef17eb9 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()#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()#1}&&) (args=0x7ffe16a0f360, fn=...)
            at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #9  0x00007fd78ef17e83 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> &)) 0x7fd78eef83b0 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #10 0x00007fd78ef17dfd 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> &)) 0x7fd78eef83b0 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #11 0x00007fd78ef17d26 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_=0x55d1ea270ae0, r=0x55d1ea332b50, a=0x7ffe16a0f360, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #12 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call (this=0x55d1ea270ae0, r=0x55d1ea332b50, a=0x7ffe16a0f360) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #13 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea25a160, signal_index=3, argv=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342
    #14 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea25a160, m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffe16a0f360)
            at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402
    #15 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55d1ea25a160, mo=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...)
            at qtbase/src/corelib/kernel/qobjectdefs.h:319
    #16 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged (this=0x55d1ea25a160, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
    #17 0x00007fd78e3f83c4 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=0x55d1e2894d60, source_top_left=..., source_bottom_right=..., roles=...)
            at /home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1528
    #18 0x00007fd78e43c83e 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()#1}::operator()() const
            (this=0x7ffe16a0f8a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #19 0x00007fd78e43c79d 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()#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()#1}&&)
            (args=0x7ffe16a0fc80, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #20 0x00007fd78e43c757 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> &)) 0x7fd78e3f74a0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #21 0x00007fd78e43c6c1 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> &)) 0x7fd78e3f74a0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #22 0x00007fd78e43c5f0 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_=0x55d1ea25a960, r=0x55d1ea25a160, a=0x7ffe16a0fc80, ret=0x0) at qtbase/src/corelib/kernel/qobject_p.h:272
    #23 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call (this=0x55d1ea25a960, r=0x55d1ea25a160, a=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #24 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea259540, signal_index=3, argv=0x7ffe16a0fc80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342
    #25 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea259540, m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffe16a0fc80)
            at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402
    #26 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55d1ea259540, mo=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...)
            at qtbase/src/corelib/kernel/qobjectdefs.h:319
    #27 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged (this=0x55d1ea259540, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
    #28 0x00007fd78d23d7cd in QStandardItemModelPrivate::itemChanged (this=0x55d1ea259fb0, item=0x55d1ea28adf0, roles=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:568
    #29 0x00007fd78d240701 in QStandardItem::setData (this=0x55d1ea28adf0, value=..., role=10) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:909
    #30 0x00007fd78d240ccd in QStandardItem::setCheckable (this=0x55d1ea28adf0, checkable=true) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1345
    #31 0x00007fd78ef0387f in QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0::operator()() const (this=0x55d1ea28a600)
            at vcl/qt6/../qt5/QtInstanceTreeView.cxx:88
    #32 0x00007fd78ef03355 in std::__invoke_impl<void, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&>(std::__invoke_other, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&) (__f=...)
            at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
    #33 0x00007fd78ef03315 in std::__invoke_r<void, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&>(QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&) (__fn=...)
            at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
    #34 0x00007fd78ef031fd in std::_Function_handler<void(), QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0>::_M_invoke
            (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
    #35 0x00007fd78ee2adde in std::function<void()>::operator() (this=0x7ffe16a10278) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
    #36 0x00007fd78ee2200f in QtInstance::RunInMainThread (this=0x55d1e1053a60, func=...) at vcl/qt6/../qt5/QtInstance.cxx:205
    #37 0x00007fd78eef9580 in QtInstanceTreeView::insert (this=0x55d1ea332b50, pParent=0x0, nPos=0, pStr=0x0, pId=0x0, pIconName=0x0, pImageSurface=0x0, bChildrenOnDemand=false, pRet=0x0) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:62
    #38 0x00007fd78eef9735 in virtual thunk to QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*) ()
            at /home/michi/development/git/libreoffice/instdir/program/libvclplug_qt6lo.so
    #39 0x00007fd750a91799 in weld::TreeView::insert (this=0x55d1ea332d00, nRow=-1, pRet=0x0) at include/vcl/weld.hxx:1053
    #40 0x00007fd750a90c92 in weld::TreeView::append (this=0x55d1ea332d00, pRet=0x0) at include/vcl/weld.hxx:1056
    #41 0x00007fd750a9e2e9 in SwCaptionOptPage::Reset (this=0x55d1ea326dc0, rSet=0x7ffe16a10990) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1096
    #42 0x00007fd79c8bdd00 in SfxSingleTabDialogController::SetTabPage (this=0x7ffe16a10938, xTabPage=std::unique_ptr<SfxTabPage> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:273
    #43 0x00007fd750a99f2d in SwCaptionOptDlg::SwCaptionOptDlg (this=0x7ffe16a10938, pParent=0x55d1e7e35f78, rSet=SfxItemSet of pool 0x55d1e2a38060 with parent 0x0 and Which ranges: [(1, 160), (1000, 1252), (4021, 4078)])
            at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:854
    #44 0x00007fd750c21914 in SwCaptionDialog::CaptionHdl (this=0x7fd77c003ea0) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:374
    #45 0x00007fd750c2006d in SwCaptionDialog::LinkStubCaptionHdl (instance=0x7fd77c003ea0, data=...) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:371
    #46 0x00007fd7976aa801 in Link<weld::Button&, void>::Call (this=0x55d1e7e35748, data=...) at include/tools/link.hxx:105
    #47 0x00007fd79768582c in weld::Button::signal_clicked (this=0x55d1e7e35740) at include/vcl/weld.hxx:1563
    [...]

Change-Id: I7ced40096c5d8cf840db3a185688017e0fdae692
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191954
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 8, 2025
in headless vclplug too. Same deadlock can happen in that
mode as seen originally as:

commit d193d65
Date:   Thu Sep 8 17:30:38 2022 +0200

    tdf#151894 Pre-init NSSpellCHecker to avoid SolarMutex deadlock

current example bts are main on thread 1, vcl launched to run on
its event loop on 'lo_startmain' side thread.

(lldb) thread backtrace 1
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00000001966f489c libsystem_kernel.dylib`__psynch_mutexwait + 8
    frame #1: 0x0000000196730e58 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 84
    frame #2: 0x000000019672e840 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 220
    frame #3: 0x0000000105ad554c libuno_sal.dylib.3`osl_acquireMutex(pMutex=<unavailable>) at mutex.cxx:99:20
    frame #4: 0x000000015a6e8370 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(unsigned int) [inlined] osl::Mutex::acquire(this=0x00000001497e7ec8) at mutex.hxx:63:20
    frame #5: 0x000000015a6e8368 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(this=0x00000001497e7ec0, nLockCount=1) at svpinst.cxx:357:18
    frame #6: 0x000000015952fda8 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] comphelper::SolarMutex::acquire(this=0x00000001497e7ec0, nLockCount=1) at solarmutex.hxx:86:5
    frame #7: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] osl::Guard<comphelper::SolarMutex>::Guard(this=<unavailable>, t=0x00000001497e7ec0) at mutex.hxx:144:17
    frame #8: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:11
    frame #9: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:78
    frame #10: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(pThis=0x000060000124a9a0, sUrl="/tmp/ErrareHumanumEst.fodg", pFormat="fodg", pFilterOptions="{\"DecomposePDF\":{\"type\":\"boolean\",\"value\":\"true\"}}") at init.cxx:3698:21
    ...
    frame #32: 0x0000000102965334 main + 228
(lldb) thread backtrace 11
  thread #11, name = 'lo_startmain'
    frame #0: 0x00000001966f53cc libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001967340e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
    frame #2: 0x0000000197ddefd0 Foundation`-[NSOperation waitUntilFinished] + 488
    frame #3: 0x00000001967e28f8 CoreFoundation`_CFXNotificationPost + 804
    frame #4: 0x0000000197d9c680 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88
    frame #5: 0x000000019a737554 AppKit`-[NSMenu insertItem:atIndex:] + 892
    frame #6: 0x000000019a8f1e00 AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] + 1380
    frame #7: 0x000000019a8f1550 AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] + 76
    frame #8: 0x000000019a8f0688 AppKit`-[NSSpellChecker init] + 248
    frame #9: 0x000000019a8f0580 AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke + 20
    frame #10: 0x000000019659585c libdispatch.dylib`_dispatch_client_callout + 16
    frame #11: 0x000000019657ea28 libdispatch.dylib`_dispatch_once_callout + 32
    frame #12: 0x000000019a8f0568 AppKit`+[NSSpellChecker sharedSpellChecker] + 140
    frame #13: 0x0000000158dbb054 libmergedlo.dylib`MacSpellChecker::getLocales(this=0x00006000006fc500) at macspellimp.mm:118:42
    frame #14: 0x0000000158da1e94 libmergedlo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl(this=0x000000014966e020) at lngsvcmgr.cxx:975:63
    frame #15: 0x0000000158da46f8 libmergedlo.dylib`LngSvcMgr::getAvailableServices(this=0x000000014966e020, rServiceName=0x000000015c044600, rLocale=0x000000016e3ae1d0) at lngsvcmgr.cxx:1369:9
    frame #16: 0x0000000158d9c434 libmergedlo.dylib`LngSvcMgr::UpdateAll(this=0x000000014966e020) at lngsvcmgr.cxx:655:46
    frame #17: 0x0000000158d9bd38 libmergedlo.dylib`LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:414:5
    frame #18: 0x0000000158da7a70 libmergedlo.dylib`::linguistic_LngSvcMgr_get_implementation(com::sun::star::uno::XComponentContext *, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> &) [inlined] LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:402:1
    frame #19: 0x0000000158da7a6c libmergedlo.dylib`linguistic_LngSvcMgr_get_implementation((null)=<unavailable>, (null)=<unavailable>) at lngsvcmgr.cxx:1816:30
    frame #20: 0x000000012dc30ee0 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()[abi:ne190102](this=0x0000000149747c90, __args=0x000000016e3ae310, __args=0x000000016e3ae308) const at function.h:430:12
    frame #21: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(this= Function = linguistic_LngSvcMgr_get_implementation , __arg=0x0000600000cc86b8, __arg=0x000000016e3ae308) const at function.h:989:10
    frame #22: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(this=0x0000000149747c18, context=0x000000015c487110) at servicemanager.cxx:701:13
    frame #23: 0x000000012dc30d4c libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance(this=0x0000000149747c18, context=0x000000015c487110, singletonRequest=false) at servicemanager.cxx:666:30
    frame #24: 0x000000012dc34ed8 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] cppuhelper::ServiceManager::createInstanceWithContext(this=<unavailable>, aServiceSpecifier=<unavailable>, Context=0x000000015c487110) at servicemanager.cxx:1002:36
    frame #25: 0x000000012dc34eb4 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) at servicemanager.cxx:0
    frame #26: 0x00000001588b29c8 libmergedlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create(the_context=0x000000015c487110) at LinguServiceManager.hpp:38:129
    frame #27: 0x00000001588b3444 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl() [inlined] GetLngSvcMgr_Impl() at unolingu.cxx:60:52
    frame #28: 0x00000001588b3438 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl(this=0x0000600002df4300) at unolingu.cxx:216:61
    frame #29: 0x00000001588b3314 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) [inlined] (anonymous namespace)::SpellDummy_Impl::isValid(this=<unavailable>, rWord=<unavailable>, nLanguage=<unavailable>, rProperties=<unavailable>) at unolingu.cxx:248:5
    frame #30: 0x00000001588b3310 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unolingu.cxx:0
    frame #31: 0x00000001588405ec libmergedlo.dylib`ImpEditEngine::DoOnlineSpelling(this=0x0000000149859800, pThisNodeOnly=<unavailable>, bSpellAtCursorPos=<unavailable>, bInterruptible=<unavailable>) at impedit4.cxx:2480:37
    frame #32: 0x0000000134059498 libsdlo.dylib`SdDrawDocument::SpellObject(this=0x000000014961cb20, pObj=0x0000000149646150) at drawdoc4.cxx:885:16
    frame #33: 0x00000001340591b0 libsdlo.dylib`SdDrawDocument::OnlineSpellingHdl(this=0x000000014961cb20, (null)=<unavailable>) at drawdoc4.cxx:823:17
    frame #34: 0x000000015a52b9b0 libmergedlo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:584:20
    frame #35: 0x000000015a6e7bf8 libmergedlo.dylib`SvpSalInstance::CheckTimeout(bool) [inlined] SalTimer::CallCallback(this=<unavailable>) at saltimer.hxx:53:13
    frame #36: 0x000000015a6e7bec libmergedlo.dylib`SvpSalInstance::CheckTimeout(this=<unavailable>, bExecuteTimers=true) at svpinst.cxx:167:53
    frame #37: 0x000000015a6e863c libmergedlo.dylib`SvpSalInstance::ImplYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:430:17
    frame #38: 0x000000015a6e8950 libmergedlo.dylib`SvpSalInstance::DoYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:504:21
    frame #39: 0x000000015a53d920 libmergedlo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:389:48
    frame #40: 0x000000015a53d328 libmergedlo.dylib`Application::Yield() at svapp.cxx:492:5 [artificial]
    frame #41: 0x000000015a53d210 libmergedlo.dylib`Application::Execute() at svapp.cxx:364:13
    frame #42: 0x00000001594ffeb4 libmergedlo.dylib`desktop::Desktop::Main(this=0x000000016e3aeed0) at app.cxx:1680:13
    frame #43: 0x000000015a5475d0 libmergedlo.dylib`ImplSVMain() at svmain.cxx:228:35
    frame #44: 0xffffffffffffffff libmergedlo.dylib`SVMain()
    frame #45: 0x000000015951e5e4 libmergedlo.dylib`soffice_main at sofficemain.cxx:121:12
    frame #46: 0x00000001595669bc libmergedlo.dylib`lo_startmain((null)=<unavailable>) at init.cxx:7860:5
    frame #47: 0x0000000105ae59d8 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00006000005cb330) at thread.cxx:240:9
    frame #48: 0x0000000196733c0c libsystem_pthread.dylib`_pthread_start + 136

Change-Id: I8d25ed364f131434ce4f738604ddcf3f586cf6d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192052
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Miklos Vajna <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 8, 2025
in headless vclplug too. Same deadlock can happen in that
mode as seen originally as:

commit d193d65
Date:   Thu Sep 8 17:30:38 2022 +0200

    tdf#151894 Pre-init NSSpellCHecker to avoid SolarMutex deadlock

current example bts are main on thread 1, vcl launched to run on
its event loop on 'lo_startmain' side thread.

(lldb) thread backtrace 1
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00000001966f489c libsystem_kernel.dylib`__psynch_mutexwait + 8
    frame #1: 0x0000000196730e58 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 84
    frame #2: 0x000000019672e840 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 220
    frame #3: 0x0000000105ad554c libuno_sal.dylib.3`osl_acquireMutex(pMutex=<unavailable>) at mutex.cxx:99:20
    frame #4: 0x000000015a6e8370 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(unsigned int) [inlined] osl::Mutex::acquire(this=0x00000001497e7ec8) at mutex.hxx:63:20
    frame #5: 0x000000015a6e8368 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(this=0x00000001497e7ec0, nLockCount=1) at svpinst.cxx:357:18
    frame #6: 0x000000015952fda8 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] comphelper::SolarMutex::acquire(this=0x00000001497e7ec0, nLockCount=1) at solarmutex.hxx:86:5
    frame #7: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] osl::Guard<comphelper::SolarMutex>::Guard(this=<unavailable>, t=0x00000001497e7ec0) at mutex.hxx:144:17
    frame #8: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:11
    frame #9: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:78
    frame #10: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(pThis=0x000060000124a9a0, sUrl="/tmp/ErrareHumanumEst.fodg", pFormat="fodg", pFilterOptions="{\"DecomposePDF\":{\"type\":\"boolean\",\"value\":\"true\"}}") at init.cxx:3698:21
    ...
    frame #32: 0x0000000102965334 main + 228
(lldb) thread backtrace 11
  thread #11, name = 'lo_startmain'
    frame #0: 0x00000001966f53cc libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001967340e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
    frame #2: 0x0000000197ddefd0 Foundation`-[NSOperation waitUntilFinished] + 488
    frame #3: 0x00000001967e28f8 CoreFoundation`_CFXNotificationPost + 804
    frame #4: 0x0000000197d9c680 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88
    frame #5: 0x000000019a737554 AppKit`-[NSMenu insertItem:atIndex:] + 892
    frame #6: 0x000000019a8f1e00 AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] + 1380
    frame #7: 0x000000019a8f1550 AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] + 76
    frame #8: 0x000000019a8f0688 AppKit`-[NSSpellChecker init] + 248
    frame #9: 0x000000019a8f0580 AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke + 20
    frame #10: 0x000000019659585c libdispatch.dylib`_dispatch_client_callout + 16
    frame #11: 0x000000019657ea28 libdispatch.dylib`_dispatch_once_callout + 32
    frame #12: 0x000000019a8f0568 AppKit`+[NSSpellChecker sharedSpellChecker] + 140
    frame #13: 0x0000000158dbb054 libmergedlo.dylib`MacSpellChecker::getLocales(this=0x00006000006fc500) at macspellimp.mm:118:42
    frame #14: 0x0000000158da1e94 libmergedlo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl(this=0x000000014966e020) at lngsvcmgr.cxx:975:63
    frame #15: 0x0000000158da46f8 libmergedlo.dylib`LngSvcMgr::getAvailableServices(this=0x000000014966e020, rServiceName=0x000000015c044600, rLocale=0x000000016e3ae1d0) at lngsvcmgr.cxx:1369:9
    frame #16: 0x0000000158d9c434 libmergedlo.dylib`LngSvcMgr::UpdateAll(this=0x000000014966e020) at lngsvcmgr.cxx:655:46
    frame #17: 0x0000000158d9bd38 libmergedlo.dylib`LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:414:5
    frame #18: 0x0000000158da7a70 libmergedlo.dylib`::linguistic_LngSvcMgr_get_implementation(com::sun::star::uno::XComponentContext *, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> &) [inlined] LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:402:1
    frame #19: 0x0000000158da7a6c libmergedlo.dylib`linguistic_LngSvcMgr_get_implementation((null)=<unavailable>, (null)=<unavailable>) at lngsvcmgr.cxx:1816:30
    frame #20: 0x000000012dc30ee0 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()[abi:ne190102](this=0x0000000149747c90, __args=0x000000016e3ae310, __args=0x000000016e3ae308) const at function.h:430:12
    frame #21: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(this= Function = linguistic_LngSvcMgr_get_implementation , __arg=0x0000600000cc86b8, __arg=0x000000016e3ae308) const at function.h:989:10
    frame #22: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(this=0x0000000149747c18, context=0x000000015c487110) at servicemanager.cxx:701:13
    frame #23: 0x000000012dc30d4c libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance(this=0x0000000149747c18, context=0x000000015c487110, singletonRequest=false) at servicemanager.cxx:666:30
    frame #24: 0x000000012dc34ed8 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] cppuhelper::ServiceManager::createInstanceWithContext(this=<unavailable>, aServiceSpecifier=<unavailable>, Context=0x000000015c487110) at servicemanager.cxx:1002:36
    frame #25: 0x000000012dc34eb4 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) at servicemanager.cxx:0
    frame #26: 0x00000001588b29c8 libmergedlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create(the_context=0x000000015c487110) at LinguServiceManager.hpp:38:129
    frame #27: 0x00000001588b3444 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl() [inlined] GetLngSvcMgr_Impl() at unolingu.cxx:60:52
    frame #28: 0x00000001588b3438 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl(this=0x0000600002df4300) at unolingu.cxx:216:61
    frame #29: 0x00000001588b3314 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) [inlined] (anonymous namespace)::SpellDummy_Impl::isValid(this=<unavailable>, rWord=<unavailable>, nLanguage=<unavailable>, rProperties=<unavailable>) at unolingu.cxx:248:5
    frame #30: 0x00000001588b3310 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unolingu.cxx:0
    frame #31: 0x00000001588405ec libmergedlo.dylib`ImpEditEngine::DoOnlineSpelling(this=0x0000000149859800, pThisNodeOnly=<unavailable>, bSpellAtCursorPos=<unavailable>, bInterruptible=<unavailable>) at impedit4.cxx:2480:37
    frame #32: 0x0000000134059498 libsdlo.dylib`SdDrawDocument::SpellObject(this=0x000000014961cb20, pObj=0x0000000149646150) at drawdoc4.cxx:885:16
    frame #33: 0x00000001340591b0 libsdlo.dylib`SdDrawDocument::OnlineSpellingHdl(this=0x000000014961cb20, (null)=<unavailable>) at drawdoc4.cxx:823:17
    frame #34: 0x000000015a52b9b0 libmergedlo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:584:20
    frame #35: 0x000000015a6e7bf8 libmergedlo.dylib`SvpSalInstance::CheckTimeout(bool) [inlined] SalTimer::CallCallback(this=<unavailable>) at saltimer.hxx:53:13
    frame #36: 0x000000015a6e7bec libmergedlo.dylib`SvpSalInstance::CheckTimeout(this=<unavailable>, bExecuteTimers=true) at svpinst.cxx:167:53
    frame #37: 0x000000015a6e863c libmergedlo.dylib`SvpSalInstance::ImplYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:430:17
    frame #38: 0x000000015a6e8950 libmergedlo.dylib`SvpSalInstance::DoYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:504:21
    frame #39: 0x000000015a53d920 libmergedlo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:389:48
    frame #40: 0x000000015a53d328 libmergedlo.dylib`Application::Yield() at svapp.cxx:492:5 [artificial]
    frame #41: 0x000000015a53d210 libmergedlo.dylib`Application::Execute() at svapp.cxx:364:13
    frame #42: 0x00000001594ffeb4 libmergedlo.dylib`desktop::Desktop::Main(this=0x000000016e3aeed0) at app.cxx:1680:13
    frame #43: 0x000000015a5475d0 libmergedlo.dylib`ImplSVMain() at svmain.cxx:228:35
    frame #44: 0xffffffffffffffff libmergedlo.dylib`SVMain()
    frame #45: 0x000000015951e5e4 libmergedlo.dylib`soffice_main at sofficemain.cxx:121:12
    frame #46: 0x00000001595669bc libmergedlo.dylib`lo_startmain((null)=<unavailable>) at init.cxx:7860:5
    frame #47: 0x0000000105ae59d8 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00006000005cb330) at thread.cxx:240:9
    frame #48: 0x0000000196733c0c libsystem_pthread.dylib`_pthread_start + 136

Change-Id: I8d25ed364f131434ce4f738604ddcf3f586cf6d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192060
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 15, 2025
in headless vclplug too. Same deadlock can happen in that
mode as seen originally as:

commit d193d65
Date:   Thu Sep 8 17:30:38 2022 +0200

    tdf#151894 Pre-init NSSpellCHecker to avoid SolarMutex deadlock

current example bts are main on thread 1, vcl launched to run on
its event loop on 'lo_startmain' side thread.

(lldb) thread backtrace 1
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00000001966f489c libsystem_kernel.dylib`__psynch_mutexwait + 8
    frame #1: 0x0000000196730e58 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 84
    frame #2: 0x000000019672e840 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 220
    frame #3: 0x0000000105ad554c libuno_sal.dylib.3`osl_acquireMutex(pMutex=<unavailable>) at mutex.cxx:99:20
    frame #4: 0x000000015a6e8370 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(unsigned int) [inlined] osl::Mutex::acquire(this=0x00000001497e7ec8) at mutex.hxx:63:20
    frame #5: 0x000000015a6e8368 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(this=0x00000001497e7ec0, nLockCount=1) at svpinst.cxx:357:18
    frame #6: 0x000000015952fda8 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] comphelper::SolarMutex::acquire(this=0x00000001497e7ec0, nLockCount=1) at solarmutex.hxx:86:5
    frame #7: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] osl::Guard<comphelper::SolarMutex>::Guard(this=<unavailable>, t=0x00000001497e7ec0) at mutex.hxx:144:17
    frame #8: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:11
    frame #9: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:78
    frame #10: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(pThis=0x000060000124a9a0, sUrl="/tmp/ErrareHumanumEst.fodg", pFormat="fodg", pFilterOptions="{\"DecomposePDF\":{\"type\":\"boolean\",\"value\":\"true\"}}") at init.cxx:3698:21
    ...
    frame #32: 0x0000000102965334 main + 228
(lldb) thread backtrace 11
  thread #11, name = 'lo_startmain'
    frame #0: 0x00000001966f53cc libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x00000001967340e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
    frame #2: 0x0000000197ddefd0 Foundation`-[NSOperation waitUntilFinished] + 488
    frame #3: 0x00000001967e28f8 CoreFoundation`_CFXNotificationPost + 804
    frame #4: 0x0000000197d9c680 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88
    frame #5: 0x000000019a737554 AppKit`-[NSMenu insertItem:atIndex:] + 892
    frame #6: 0x000000019a8f1e00 AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] + 1380
    frame #7: 0x000000019a8f1550 AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] + 76
    frame #8: 0x000000019a8f0688 AppKit`-[NSSpellChecker init] + 248
    frame #9: 0x000000019a8f0580 AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke + 20
    frame #10: 0x000000019659585c libdispatch.dylib`_dispatch_client_callout + 16
    frame #11: 0x000000019657ea28 libdispatch.dylib`_dispatch_once_callout + 32
    frame #12: 0x000000019a8f0568 AppKit`+[NSSpellChecker sharedSpellChecker] + 140
    frame #13: 0x0000000158dbb054 libmergedlo.dylib`MacSpellChecker::getLocales(this=0x00006000006fc500) at macspellimp.mm:118:42
    frame #14: 0x0000000158da1e94 libmergedlo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl(this=0x000000014966e020) at lngsvcmgr.cxx:975:63
    frame #15: 0x0000000158da46f8 libmergedlo.dylib`LngSvcMgr::getAvailableServices(this=0x000000014966e020, rServiceName=0x000000015c044600, rLocale=0x000000016e3ae1d0) at lngsvcmgr.cxx:1369:9
    frame #16: 0x0000000158d9c434 libmergedlo.dylib`LngSvcMgr::UpdateAll(this=0x000000014966e020) at lngsvcmgr.cxx:655:46
    frame #17: 0x0000000158d9bd38 libmergedlo.dylib`LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:414:5
    frame #18: 0x0000000158da7a70 libmergedlo.dylib`::linguistic_LngSvcMgr_get_implementation(com::sun::star::uno::XComponentContext *, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> &) [inlined] LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:402:1
    frame #19: 0x0000000158da7a6c libmergedlo.dylib`linguistic_LngSvcMgr_get_implementation((null)=<unavailable>, (null)=<unavailable>) at lngsvcmgr.cxx:1816:30
    frame #20: 0x000000012dc30ee0 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()[abi:ne190102](this=0x0000000149747c90, __args=0x000000016e3ae310, __args=0x000000016e3ae308) const at function.h:430:12
    frame #21: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(this= Function = linguistic_LngSvcMgr_get_implementation , __arg=0x0000600000cc86b8, __arg=0x000000016e3ae308) const at function.h:989:10
    frame #22: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(this=0x0000000149747c18, context=0x000000015c487110) at servicemanager.cxx:701:13
    frame #23: 0x000000012dc30d4c libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance(this=0x0000000149747c18, context=0x000000015c487110, singletonRequest=false) at servicemanager.cxx:666:30
    frame #24: 0x000000012dc34ed8 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] cppuhelper::ServiceManager::createInstanceWithContext(this=<unavailable>, aServiceSpecifier=<unavailable>, Context=0x000000015c487110) at servicemanager.cxx:1002:36
    frame #25: 0x000000012dc34eb4 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) at servicemanager.cxx:0
    frame #26: 0x00000001588b29c8 libmergedlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create(the_context=0x000000015c487110) at LinguServiceManager.hpp:38:129
    frame #27: 0x00000001588b3444 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl() [inlined] GetLngSvcMgr_Impl() at unolingu.cxx:60:52
    frame #28: 0x00000001588b3438 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl(this=0x0000600002df4300) at unolingu.cxx:216:61
    frame #29: 0x00000001588b3314 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) [inlined] (anonymous namespace)::SpellDummy_Impl::isValid(this=<unavailable>, rWord=<unavailable>, nLanguage=<unavailable>, rProperties=<unavailable>) at unolingu.cxx:248:5
    frame #30: 0x00000001588b3310 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unolingu.cxx:0
    frame #31: 0x00000001588405ec libmergedlo.dylib`ImpEditEngine::DoOnlineSpelling(this=0x0000000149859800, pThisNodeOnly=<unavailable>, bSpellAtCursorPos=<unavailable>, bInterruptible=<unavailable>) at impedit4.cxx:2480:37
    frame #32: 0x0000000134059498 libsdlo.dylib`SdDrawDocument::SpellObject(this=0x000000014961cb20, pObj=0x0000000149646150) at drawdoc4.cxx:885:16
    frame #33: 0x00000001340591b0 libsdlo.dylib`SdDrawDocument::OnlineSpellingHdl(this=0x000000014961cb20, (null)=<unavailable>) at drawdoc4.cxx:823:17
    frame #34: 0x000000015a52b9b0 libmergedlo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:584:20
    frame #35: 0x000000015a6e7bf8 libmergedlo.dylib`SvpSalInstance::CheckTimeout(bool) [inlined] SalTimer::CallCallback(this=<unavailable>) at saltimer.hxx:53:13
    frame #36: 0x000000015a6e7bec libmergedlo.dylib`SvpSalInstance::CheckTimeout(this=<unavailable>, bExecuteTimers=true) at svpinst.cxx:167:53
    frame #37: 0x000000015a6e863c libmergedlo.dylib`SvpSalInstance::ImplYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:430:17
    frame #38: 0x000000015a6e8950 libmergedlo.dylib`SvpSalInstance::DoYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:504:21
    frame #39: 0x000000015a53d920 libmergedlo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:389:48
    frame #40: 0x000000015a53d328 libmergedlo.dylib`Application::Yield() at svapp.cxx:492:5 [artificial]
    frame #41: 0x000000015a53d210 libmergedlo.dylib`Application::Execute() at svapp.cxx:364:13
    frame #42: 0x00000001594ffeb4 libmergedlo.dylib`desktop::Desktop::Main(this=0x000000016e3aeed0) at app.cxx:1680:13
    frame #43: 0x000000015a5475d0 libmergedlo.dylib`ImplSVMain() at svmain.cxx:228:35
    frame #44: 0xffffffffffffffff libmergedlo.dylib`SVMain()
    frame #45: 0x000000015951e5e4 libmergedlo.dylib`soffice_main at sofficemain.cxx:121:12
    frame #46: 0x00000001595669bc libmergedlo.dylib`lo_startmain((null)=<unavailable>) at init.cxx:7860:5
    frame #47: 0x0000000105ae59d8 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00006000005cb330) at thread.cxx:240:9
    frame #48: 0x0000000196733c0c libsystem_pthread.dylib`_pthread_start + 136

Change-Id: I8d25ed364f131434ce4f738604ddcf3f586cf6d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192052
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Miklos Vajna <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.