Commit graph

496175 commits

Author SHA1 Message Date
Xisco Fauli
02c0194232 update language-subtag-registry to 2024-05-16
How the file was created:
mkdir data
cd data
wget
https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2024-05-16.tar.bz data/language-subtag-registry

Change-Id: I1070881fac9d88508e58715c9a87d547ddf86a50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167860
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-20 15:30:02 +02:00
Andrea Gelmini
267f1f6517 Fix typo
Change-Id: I4ba7595b39be27161c333f8731ec4b0b35dab50a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167852
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-20 15:23:30 +02:00
Andrea Gelmini
9487549d2a Fix typo
Change-Id: I439e80659a6e4aeba9c3f35decb0e2c7a8c87eeb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167851
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-20 15:23:18 +02:00
Michael Weghorn
ba41718095 avmediagtk: Use gb_Library_set_include for GTK4_CFLAGS
In the same way that `vcl/Library_vclplug_gtk4.mk` does
it, set the `GTK4_CFLAGS` (which have the includes) via
`gb_Library_set_include`, not `gb_Library_add_cxxflags`.

This makes sure that they end up in the `INCLUDE`
section in `workdir/GbuildToJson/Library/libavmediagtk.so`
and thus end up in the IDE integrations as includes,
which makes Qt Creator's Clang Code Model  find them
instead of showing an error
("gtkplayer.cxx:28:10: 'gtk/gtk.h' file not found").

See also this similar commit for more details:

    commit 6a53832080
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Mon Dec 17 15:35:58 2018 +0100

        Use 'gb_Library_set_include' for GTK3_CFLAGS

Change-Id: I5ef01aff32073d37b8add0b2250402ccaa48b2dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167857
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-20 15:22:49 +02:00
Noel Grandin
5a602ed852 loplugin:ostr in sc/.../vba
Change-Id: Ifdf0ebba617432f49e2c14c8a52c495dc1c6a36a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167853
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-05-20 14:40:36 +02:00
Noel Grandin
9312f954b6 loplugin:ostr in sw/.../access
Change-Id: Ib859d48d62ffcb9d82d3c63cc778430f45fe1d1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167854
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-05-20 12:29:03 +02:00
Caolán McNamara
8b0b016493 don't need -I ... YaccTarget/connectivity/source/parse in forms
since:

commit f0c8312bc6
Date:   Sat Feb 1 22:47:11 2020 +0100

    tdf#42949 Fix IWYU warnings in forms/

Change-Id: I77835488ef0b19d4c271ad39018138cc371a352d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167849
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-20 12:13:38 +02:00
Andrea Gelmini
e3bd3c7e31 Fix typo
Change-Id: I10d05b41028df776713db37d60e688d4f04bb739
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167774
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Tested-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-05-20 08:56:49 +02:00
Andrea Gelmini
eadcbef8b3 Fix typo
Change-Id: I22cd12c51d91bd7620bca29227871b3081813a36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167776
Reviewed-by:   <20001722@ymail.ne.jp>
Tested-by: Jenkins
2024-05-20 08:54:48 +02:00
HakimOttey
9dad7c0f10 tdf#147906 implement hypot function for s1 x s1 + s2 x s2 statements
Change-Id: I50a2f4cf7738ee3797723929fb6840d2633c882c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166814
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-05-20 08:20:40 +02:00
HakimOttey
ad3f86880b Change for loop to have getAccessibleChildCount in accessibletabbar
Change-Id: Ic020b1cd36abe2c568a119dfd400c718dc9de452
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166989
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-20 07:47:44 +02:00
Caolán McNamara
d0702a3f17 Resolves: tdf#151382 we want to save the FN_KEEP_ASPECT_RATIO state
and not if it is implied to be toggled on by SwFormatFrameSize::SYNCED
in which case on "ok" FN_KEEP_ASPECT_RATIO is set from the ui state

so both tdf#151382 and tdf132591 work

Change-Id: I039de0e8f0f9adcc3c02f0e07c12d83cd807887b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167845
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-19 20:08:15 +02:00
Eike Rathke
d4ae5abb4d Resolves: tdf#160804 sc: ResizeMatrix: Use document grammar
API grammar (old GRAM_PODF_A1) here was always wrong and could
never had matched the formula string obtained from the document,
but in earlier days array separators weren't configurable so this
may have worked accidentally.. Likely GRAM_PODF_A1 was introduced
being confused by existance of older bApi parameter that never was
true though and got eliminated later.

Change-Id: Ie77ad4047c21d999bea1ff97c7c2b451f01121eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167844
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2024-05-19 19:26:05 +02:00
Caolán McNamara
c5fb86f91c Resolves: tdf#157453 support FM_PROP_LINECOUNT for combobox dropdow rows
Change-Id: I3d18ed505c2eea7305903f9a476c332db0148113
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167837
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-19 16:44:09 +02:00
Caolán McNamara
445ee505b6 cid#1598293 silence Unchecked return value
and

cid#1598292 Unchecked return value

Change-Id: I9880932b8fb2340ec122c907aea0374881238283
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167843
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-19 16:34:30 +02:00
Caolán McNamara
7e36bbd142 cid#1598236 silence Unchecked return value
Change-Id: Id5dfed646336847607df0bd2fd10d345ac8ed64e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167842
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-19 15:25:18 +02:00
Mike Kaganski
bb5740bb4c tdf#161172: Also record history for !bChangeOfListStyleAtParagraph
Change-Id: I6443d7ef76a27ac3ab75f88edd271a8b36e06c14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167839
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-05-19 12:36:09 +02:00
Khaled Hosny
44f2bc1277 tdf#160884: Apply scale to position of embedded images in Type 3 fonts
Regression from:

commit bc3f6c3a47
Author: Khaled Hosny <khaled@libreoffice.org>
Date:   Tue Aug 22 10:47:33 2023 +0300

    tdf#155610: Workaround Acrobat bug with Type 3 fonts and unusual UPEM

Change-Id: I5e352292268d19fb8348a038d251f2d395a0be46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167830
Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org>
Reviewed-by: خالد حسني <khaled@libreoffice.org>
Tested-by: Jenkins
2024-05-19 09:30:06 +02:00
Printf Debugging
cc389f64a5 tdf#150082 tdf#161141 fix typecasting error in Makefile
In patch https://gerrit.libreoffice.org/c/core/+/167057 , cast
to st_mysql_client_plugin instead of st_mysql_client_plugin_AUTHENTICATION

Change-Id: I76e0717eb3fe5e665c262a33852908c4b6b38ecf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167806
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-05-19 06:37:43 +02:00
Marco A.G.Pinto
12d4e47155 Update git submodules
* Update dictionaries from branch 'master'
  to 7272a82714ca91947b4573c09bce4938861a9877
  - Updated the English dictionaries: GB+ZA (2024.05.01)
    
    Change-Id: Ie9586a0ff5a823893e059c0190f9239548448173
    Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/167028
    Reviewed-by: Aron Budea <aron.budea@collabora.com>
    Tested-by: Aron Budea <aron.budea@collabora.com>
2024-05-19 05:35:08 +02:00
Caolán McNamara
5e23cac576 Resolves: tdf#161057 draw/impress auto font color not updated on theme change
Change-Id: Id3d02c38e3bbda34f65f5623fff1a5f39238e46a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167803
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-05-18 22:00:20 +02:00
Caolán McNamara
64557ef9fa cid#1598235 Uninitialized pointer field
Change-Id: I8c403a0bcfa56e58fdf12cb045c98b2087889235
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167794
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-05-18 21:23:41 +02:00
Noel Grandin
551c8230b4 use more concrete UNO type in sw/../writerfilter
Change-Id: I41f06a26c226894e7e9aa4475b6f02d5b67f28dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167790
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-18 16:59:15 +02:00
Caolán McNamara
29ec8099d0 Resolves: tdf#161133 read-only widget should have deactivated calendar
a problem since:

commit 6e7e19d9c3
Date:   Wed Jul 15 12:10:32 2020 +0100

    weld DateControl

Change-Id: I367c4237903655ad02c0c4af70ae0383b8a89f25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167802
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-18 16:34:57 +02:00
Caolán McNamara
f090247246 cid#1598237 Uncaught exception
Change-Id: Iab0a585048d028fda27a8b3edaad666edd0f55b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167796
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-18 16:27:04 +02:00
Mike Kaganski
60600b5bc0 WaE: Dereferencing NULL pointer
C:/lo/core/vcl/win/gdi/salprn.cxx(180): error C2220: the following warning is treated as an error
 C:\lo\core\vcl\win\gdi\salprn.cxx(172): warning C6011: Dereferencing NULL pointer 'pWinInfo4'. : Lines: 160, 161, 162, 163, 164, 166, 167, 169, 171, 172

Change-Id: Id20f4bc308259a706cc55fc8331a5119b2172a14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167807
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-05-18 15:10:55 +02:00
Caolán McNamara
b2dc515e2a Related: tdf#146326 restore correct focus when on submenu launched
we still "cancel" a submenu if it never gets around to getting launched
so at least set the restore focus wiget to where we initially grab focus.

Change-Id: Ida157823a282d08ca908c20f0135db61881adb7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167798
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-18 14:02:35 +02:00
Michael Meeks
e2aab0d02e lok: dump more SfxViewShell state, and LOK notifier state on Windows.
This should help to associate the right view-ids, with the right
windows, and help to catch any stray / lingering windows from closed
sessions - hopefully.

Change-Id: I197a3280d5d2aeddd356ee037c51e4887f43278b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167765
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 8d979fae0c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167684
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-18 12:34:59 +02:00
Noel Grandin
f1ef9379fd cool#8570 single-element cache in MsLangId::getScriptType
this method is hit pretty hard, so try a single element cache

Change-Id: I7c9f9285037a181ee24fbdf04cabc15b40a2ff03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167781
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 18102e3d7f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167687
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-18 12:29:08 +02:00
kubak
8d1b7585fb tdf#115357: Set Start Menu folder under Windows to \LibreOffice\
Enhancement request.

Change-Id: I128520432d33bd900d4385395f28a32d181485cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167141
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-05-18 12:09:12 +02:00
Gabor Kelemen
563573068f Drop now unused SdOptionsSnap, SdOptionsSnapItem classes
Change-Id: Ifa2a7b7447e3659ea331ca4c3ec5c05dcc9a5841
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167542
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2024-05-18 11:52:37 +02:00
Caolán McNamara
fe599b2e08 drop SAL_RET_MAYBENULL from bodies
looks like we can get away without it and its tidier for us
if we don't need to do it

Change-Id: I29a68724a0cd2f33367c700b11c0d40397f607cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167788
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-18 11:34:09 +02:00
Mike Kaganski
2092df2a90 tdf#161154: pass "scaling is done externally" information down the stack
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D does the
scaling, taking into account the font scaling. Before commit
8557ea84c9, D2DWriteTextOutRenderer was
doing own scaling in addition, but it seems that it somehow didn't
affect the result much. The said commit removed the scalng from
D2DWriteTextOutRenderer. As tdf#160901 demonstrated, the scaling is
necessary in different code paths - and it turns out, that we need to
know, if the caller does its own scaling or not, to make a decision,
if the scaling should be fone in D2DWriteTextOutRenderer.

This hack passes this from VclProcessor2D to D2DWriteTextOutRenderer
through OutputDevice. Thanks to Miklos for the isea. I still don't
understand, why all this seemingly doesn't affect other renderers.

Change-Id: I001036f4574898b8e7606652525638df43c35240
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167786
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-05-18 11:03:58 +02:00
Michael Weghorn
2f4103da56 tdf#160565 tdf#145735 qt: Avoid native window handles for Qt 6
Similar to the tdf#122293 scenario with Qt 5 on Wayland,
using native windows causes unresponsive UI even with
the xcb Qt QPA plugin when using Qt 6.

Therefore, don't call `QWidget::winId()` at all when
using Qt 6, but just refuse to resolve a native window
handle, the same way that is already done here for the
wayland Qt QPA plugin with qt5.

Add a comment based on the one originally added with

    commit 0e3c3b842e
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sat May 11 21:31:33 2019 +0200

        tdf#122293 qt5: Use "alien widgets" by default on Wayland

that was later dropped during a refactoring.

This code path is triggered when trying to resolve the
parent window for a file picker (s. `QtFilePicker::initialize`).
In a quick test in a KDE Plasma 5 Wayland session on Debian testing,
the modality behavior was unchanged with or without this change in
place:

* With qt6 xcb, the main window nicely gets grayed out and is
  unresponsive while the file dialog gets shown  when using
  e.g. "File" -> "Open" in Writer.

* With qt6 wayland, the main window is not grayed out and looks
  more "active" still, but doesn't actually accept keyboard
  or mouse input.

This is basically the same in other Qt/KDE applications, e.g.
a self-compiled Kate from git master, so not LO-specific.

If resolving the parent for the file picker turns out to be necessary,
maybe something similar to what commit

    commit 3ff4800fe4
    Author: Caolán McNamara <caolanm@redhat.com>
    Date:   Wed Apr 4 10:22:34 2018 +0100

        weld SvInsertOleDlg

        and

        weld SfxInsertFloatingFrameDialog

        and smuggle in the parent widget for the Gtk File dialog via
        an XWindow interface

did for gtk3 might be worth looking into.

However, I can at least not reproduce issues like the one described
for gtk3 in

    commit 203d967879
    Author: Caolán McNamara <caolanm@redhat.com>
    Date:   Mon Jun 21 13:01:52 2021 +0100

        give folderpicker an optional parent

        so, like a file picker, it can make its parent modal while its
        operating. Otherwise its possible to interact with the parent dialog in
        undesirable ways, e.g. file, export as, export as epub, the folder
        picker of 'media directory'

with the qt6 VCL plugin even with this commit in place.

Another scenario relying on a native window handle is video
playback with GStreamer's x11 video sink.

That still works for qt5 with the xcb plugin as the handle is
still returned for that one.

For qt6 with the xcb plugin, that didn't work properly
without this commit either (at least not in my tests with
current qtbase dev as of commit
70a2e7f32b9f9ce19d1538f14fbde7b0d1e77ffd), s.
tdf#145735 comment 7.
It's now broken a different way than before
(extra windows show up instead of no video being shown).
This will be further tracked together with a solution for
Wayland in tdf#125219.

As a side note, forcing native windows for everything
using `QT_USE_NATIVE_WINDOWS=1` as described at [1]
causes more sever brokenness with the qt6 xcb plugin
(mostly black window in Writer instead of showing the
actual content).

[1] https://doc.qt.io/qt-6/qwidget.html#native-widgets-vs-alien-widgets

Change-Id: I9718c680bd8bc4ff0574f171403d965c1beac781
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167783
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-18 06:55:31 +02:00
Michael Weghorn
12f51f079a qt: Run QtFrame::SetWindowState in main thread
Fixes this crash/assertion seen when starting Writer with
the qt6 VCL plugin with a fresh user profile with qtbase debug
build (as of commit 70a2e7f32b9f9ce19d1538f14fbde7b0d1e77ffd):

    ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 0x0x7fff9c454020. Receiver 'QtMainWindowClassWindow' (of type 'QWidgetWindow') was created in thread 0x0x55555560dc50", file /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp, line 547

    Thread 19 "soffice.bin" received signal SIGABRT, Aborted.
    [Switching to Thread 0x7fffada006c0 (LWP 10947)]
    __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
    44      ./nptl/pthread_kill.c: No such file or directory.
    (gdb) bt
    #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
    #1  0x00007ffff78a6b7f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
    #2  0x00007ffff78584e2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff78414ed in __GI_abort () at ./stdlib/abort.c:79
    #4  0x00007fffe34f95c9 in qAbort() () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:49
    #5  0x00007fffe350d459 in qt_message_fatal<QString&>(QtMsgType, QMessageLogContext const&, QString&) (context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2112
    #6  0x00007fffe35063e6 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *)
        (msgType=QtFatalMsg, context=..., msg=0x7fffe3b8afa8 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fffad9fb108) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:380
    #7  0x00007fffe35084b1 in QMessageLogger::fatal(char const*, ...) const (this=0x7fffad9fb350, msg=0x7fffe3b8afa8 "ASSERT failure in %s: \"%s\", file %s, line %d")
        at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:880
    #8  0x00007fffe34f969c in qt_assert_x(char const*, char const*, char const*, int)
        (where=0x7fffe3bae469 "QCoreApplication::sendEvent", what=0x7fff9cd289a0 "Cannot send events to objects owned by a different thread. Current thread 0x0x7fff9c454020. Receiver 'QtMainWindowClassWindow' (of type 'QWidgetWindow') was created in thread 0x0x55555560dc50", file=0x7fffe3bae098 "/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp", line=547) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:114
    #9  0x00007fffe35f54e6 in QCoreApplicationPrivate::checkReceiverThread(QObject*) (receiver=0x55555bb8b4a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:547
    #10 0x00007fffe15a786e in QApplication::notify(QObject*, QEvent*) (this=0x55555560d9d0, receiver=0x55555bb8b4a0, e=0x7fffad9fb7f0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2580
    #11 0x00007fffe35f68be in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555bb8b4a0, event=0x7fffad9fb7f0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
    #12 0x00007fffe35f7677 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x55555bb8b4a0, event=0x7fffad9fb7f0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598
    #13 0x00007fffe24f6299 in QWindowPrivate::create(bool) (this=0x5555569bd9a0, recursive=false) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:589
    #14 0x00007fffe24f6759 in QWindow::create() (this=0x55555bb8b4a0) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:720
    #15 0x00007fffe1643f45 in QWidgetPrivate::create() (this=0x55555b24c140) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:1341
    #16 0x00007fffe16433c3 in QWidget::create(unsigned long long, bool, bool) (this=0x5555572554a0, window=0, initializeWindow=true, destroyOldWindow=true) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:1206
    #17 0x00007fffe1649dd5 in QWidget::setWindowState(QFlags<Qt::WindowState>) (this=0x5555572554a0, newstate=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:2946
    #18 0x00007fffe4235db6 in QtFrame::SetWindowStateImpl(QFlags<Qt::WindowState>) (this=0x55555bba8cf0, eState=...) at vcl/qt6/../qt5/QtFrame.cxx:340
    #19 0x00007fffe4237fc0 in QtFrame::SetWindowState(vcl::WindowData const*) (this=0x55555bba8cf0, pState=0x7fffad9fbdc0) at vcl/qt6/../qt5/QtFrame.cxx:677
    #20 0x00007fffee0a4c63 in SystemWindow::SetWindowState(vcl::WindowData const&) (this=0x7fff9d689d50, rData=...) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:708
    #21 0x00007fffee0a5802 in SystemWindow::SetWindowState(std::basic_string_view<char16_t, std::char_traits<char16_t> >) (this=0x7fff9d689d50, rStr=u",,,;4;") at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:840
    #22 0x00007ffff4ddc4c4 in framework::LoadEnv::impl_applyPersistentWindowState(com::sun::uno::Reference<com::sun::awt::XWindow> const&) (this=0x7fffad9fcbb8, xWindow=uno::Reference to (VCLXTopWindow *) 0x7fff9c003810)
        at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1809
    #23 0x00007ffff4dd6f5b in framework::LoadEnv::impl_loadContent() (this=0x7fffad9fcbb8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1081
    #24 0x00007ffff4dd48e4 in framework::LoadEnv::start() (this=0x7fffad9fcbb8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:412
    #25 0x00007ffff4dd21b2 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures)
        (this=0x7fffad9fcbb8, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", lMediaDescriptor=uno::Sequence of length 1 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555569d5c68, sTarget="_blank", nSearchFlags=0, eFeature=LoadEnvFeatures::NONE) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:308
    #26 0x00007ffff4dd0998 in framework::LoadEnv::loadComponentFromURL(com::sun::uno::Reference<com::sun::frame::XComponentLoader> const&, com::sun::uno::Reference<com::sun::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&)
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555569d5c78, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x555555623d38, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", sTarget="_blank", nSearchFlags=0, lArgs=uno::Sequence of length 1 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:168
    #27 0x00007ffff4e06a3f in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&)
        (this=0x5555569d5c00, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", sTargetFrameName="_blank", nSearchFlags=0, lArguments=uno::Sequence of length 1 = {...})
        at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:592
    #28 0x00007ffff4e06b34 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #29 0x00007ffff7ba9147 in desktop::testOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&, rtl::OUString const&)
        (xDesktop=uno::Reference to (framework::Desktop *) 0x5555569d5c58, rURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods")
        at /home/michi/development/git/libreoffice/desktop/source/app/opencl.cxx:132
    #30 0x00007ffff7ba7f54 in desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&) (xDesktop=uno::Reference to (framework::Desktop *) 0x5555569d5c58)
        at /home/michi/development/git/libreoffice/desktop/source/app/opencl.cxx:241
    #31 0x00007ffff7b5719d in std::__invoke_impl<void, void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> >(std::__invoke_other, void (*&&)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2>&&)
        (__f=@0x555556fbe460: 0x7ffff7ba7760 <desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&)>, __args=...)
        at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
    #32 0x00007ffff7b5712d in std::__invoke<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> >(void (*&&)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2>&&)
        (__fn=@0x555556fbe460: 0x7ffff7ba7760 <desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&)>, __args=...)
        at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
    #33 0x00007ffff7b57102 in std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x555556fbe458) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292
    #34 0x00007ffff7b570c5 in std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > >::operator()()
        (this=0x555556fbe458) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299
    #35 0x00007ffff7b56e69 in std:🧵:_State_impl<std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > > >::_M_run() (this=0x555556fbe450) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244
    #36 0x00007ffff74dee24 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
    #37 0x00007ffff78a4dbb in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
    #38 0x00007ffff79269f8 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Change-Id: I35024670cf4e4a6c00762be71fa051cc9417ef75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167779
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-18 06:55:24 +02:00
Michael Weghorn
9a4f7a093b qt: Run QtFrame::SetIcon in main thread
Fixes this crash/assertion seen when starting Writer with
the qt6 VCL plugin with a fresh user profile with qtbase debug
build (as of commit 70a2e7f32b9f9ce19d1538f14fbde7b0d1e77ffd):

    Thread 19 "soffice.bin" received signal SIGABRT, Aborted.
    [Switching to Thread 0x7fffada006c0 (LWP 150142)]
    __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
    44      ./nptl/pthread_kill.c: No such file or directory.
    (gdb) bt
    #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
    #1  0x00007ffff78a6b7f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
    #2  0x00007ffff78584e2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff78414ed in __GI_abort () at ./stdlib/abort.c:79
    #4  0x00007fffe34f95c9 in qAbort() () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:49
    #5  0x00007fffe350d459 in qt_message_fatal<QString&>(QtMsgType, QMessageLogContext const&, QString&) (context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2112
    #6  0x00007fffe35063e6 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *)
        (msgType=QtFatalMsg, context=..., msg=0x7fffe3b8afa8 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fffad9faab8) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:380
    #7  0x00007fffe35084b1 in QMessageLogger::fatal(char const*, ...) const (this=0x7fffad9fad00, msg=0x7fffe3b8afa8 "ASSERT failure in %s: \"%s\", file %s, line %d")
        at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:880
    #8  0x00007fffe34f969c in qt_assert_x(char const*, char const*, char const*, int)
        (where=0x7fffe3bae469 "QCoreApplication::sendEvent", what=0x7fff9d691f60 "Cannot send events to objects owned by a different thread. Current thread 0x0x7fff9c456670. Receiver 'QtMainWindowClassWindow' (of type 'QWidgetWindow') was created in thread 0x0x55555560dc60", file=0x7fffe3bae098 "/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp", line=547) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:114
    #9  0x00007fffe35f54e6 in QCoreApplicationPrivate::checkReceiverThread(QObject*) (receiver=0x55555bb8a180) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:547
    #10 0x00007fffe15a786e in QApplication::notify(QObject*, QEvent*) (this=0x55555560d9e0, receiver=0x55555bb8a180, e=0x7fffad9fb120) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2580
    #11 0x00007fffe35f68be in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555bb8a180, event=0x7fffad9fb120) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
    #12 0x00007fffe35f7677 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x55555bb8a180, event=0x7fffad9fb120) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598
    #13 0x00007fffe24f74d0 in QWindow::setIcon(QIcon const&) (this=0x55555bb8a180, icon=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:1094
    #14 0x00007fffe165564d in QWidgetPrivate::setWindowIcon_sys() (this=0x55555b24b370) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:6208
    #15 0x00007fffe1655598 in QWidget::setWindowIcon(QIcon const&) (this=0x55555735d7a0, icon=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:6198
    #16 0x00007fffe42362a9 in QtFrame::SetIcon(unsigned short) (this=0x55555bba7d30, nIcon=4) at vcl/qt6/../qt5/QtFrame.cxx:378
    #17 0x00007fffee0a2aa6 in SystemWindow::SetIcon(unsigned short) (this=0x7fff9d68a7c0, nIcon=4) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:332
    #18 0x00007ffff4c843f1 in framework::TitleBarUpdate::impl_updateIcon(com::sun::uno::Reference<com::sun::frame::XFrame> const&)
        (this=0x7fff9c452fe0, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x7fff9d68c690) at /home/michi/development/git/libreoffice/framework/source/helper/titlebarupdate.cxx:278
    #19 0x00007ffff4c831c2 in framework::TitleBarUpdate::impl_forceUpdate() (this=0x7fff9c452fe0) at /home/michi/development/git/libreoffice/framework/source/helper/titlebarupdate.cxx:214
    #20 0x00007ffff4c8304b in framework::TitleBarUpdate::frameAction(com::sun::frame::FrameActionEvent const&) (this=0x7fff9c452fe0, aEvent=...) at /home/michi/development/git/libreoffice/framework/source/helper/titlebarupdate.cxx:95
    #21 0x00007ffff4e25397 in (anonymous namespace)::XFrameImpl::implts_sendFrameActionEvent(com::sun::frame::FrameAction const&)
        (this=0x7fff9d68c620, aAction=@0x7ffff4a01f68: com::sun::frame::FrameAction::FrameAction_COMPONENT_ATTACHED) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2960
    #22 0x00007ffff4e1df33 in (anonymous namespace)::XFrameImpl::setComponent(com::sun::uno::Reference<com::sun::awt::XWindow> const&, com::sun::uno::Reference<com::sun::frame::XController> const&)
        (this=0x7fff9d68c620, xComponentWindow=uno::Reference to (VCLXContainer *) 0x7fff9dd02cd0, xController=uno::Reference to (ScTabViewObj *) 0x7fff9d8d82d8)
        at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1552
    #23 0x00007ffff40291b3 in utl::ConnectFrameControllerModel(com::sun::uno::Reference<com::sun::frame::XFrame> const&, com::sun::uno::Reference<com::sun::frame::XController2> const&, com::sun::uno::Reference<com::sun::frame::XModel> const&)
        (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x7fff9d68c690, xController=uno::Reference to (ScTabViewObj *) 0x7fff9d8d82d8, xModel=uno::Reference to (ScModelObj *) 0x7fff9c471680) at include/unotools/fcm.hxx:45
    #24 0x00007ffff402551a in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView(com::sun::uno::Reference<com::sun::frame::XModel2> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&, comphelper::NamedValueCollection const&, rtl::OUString const&)
        (i_rModel=uno::Reference to (ScModelObj *) 0x7fff9c471680, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x7fff9d68c690, i_rViewFactoryArgs=..., i_rViewName="Default")
        at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:584
    #25 0x00007ffff402272f in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&)
        (this=0x7fff9c451600, rArgs=uno::Sequence of length 11 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x7fff9d68c690) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:759
    #26 0x00007ffff4dd7b61 in framework::LoadEnv::impl_loadContent() (this=0x7fffad9fcbb8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1176
    #27 0x00007ffff4dd48e4 in framework::LoadEnv::start() (this=0x7fffad9fcbb8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:412
    #28 0x00007ffff4dd21b2 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&, com::sun::uno::Reference<com::sun::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures)
        (this=0x7fffad9fcbb8, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", lMediaDescriptor=uno::Sequence of length 1 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555569ad308, sTarget="_blank", nSearchFlags=0, eFeature=LoadEnvFeatures::NONE) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:308
    #29 0x00007ffff4dd0998 in framework::LoadEnv::loadComponentFromURL(com::sun::uno::Reference<com::sun::frame::XComponentLoader> const&, com::sun::uno::Reference<com::sun::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&)
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555569ad318, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x555555623d48, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", sTarget="_blank", nSearchFlags=0, lArgs=uno::Sequence of length 1 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:168
    #30 0x00007ffff4e06a3f in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&)
        (this=0x5555569ad2a0, sURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods", sTargetFrameName="_blank", nSearchFlags=0, lArguments=uno::Sequence of length 1 = {...})
        at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:592
    #31 0x00007ffff4e06b34 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::uno::Sequence<com::sun:🫘:PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #32 0x00007ffff7ba9147 in desktop::testOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&, rtl::OUString const&)
        (xDesktop=uno::Reference to (framework::Desktop *) 0x5555569ad2f8, rURL="file:///home/michi/development/git/libreoffice/instdir/program/../program/opencl/cl-test.ods")
        at /home/michi/development/git/libreoffice/desktop/source/app/opencl.cxx:132
    #33 0x00007ffff7ba7f54 in desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&) (xDesktop=uno::Reference to (framework::Desktop *) 0x5555569ad2f8)
    --Type <RET> for more, q to quit, c to continue without paging--
        at /home/michi/development/git/libreoffice/desktop/source/app/opencl.cxx:241
    #34 0x00007ffff7b5719d in std::__invoke_impl<void, void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> >(std::__invoke_other, void (*&&)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2>&&)
        (__f=@0x5555573c20b0: 0x7ffff7ba7760 <desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&)>, __args=...)
        at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
    #35 0x00007ffff7b5712d in std::__invoke<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> >(void (*&&)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2>&&)
        (__fn=@0x5555573c20b0: 0x7ffff7ba7760 <desktop::Desktop::CheckOpenCLCompute(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&)>, __args=...)
        at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
    #36 0x00007ffff7b57102 in std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x5555573c20a8) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292
    #37 0x00007ffff7b570c5 in std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > >::operator()()
        (this=0x5555573c20a8) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299
    #38 0x00007ffff7b56e69 in std:🧵:_State_impl<std:🧵:_Invoker<std::tuple<void (*)(com::sun::uno::Reference<com::sun::frame::XDesktop2> const&), com::sun::uno::Reference<com::sun::frame::XDesktop2> > > >::_M_run() (this=0x5555573c20a0) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244
    #39 0x00007ffff74dee24 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
    #40 0x00007ffff78a4dbb in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
    #41 0x00007ffff79269f8 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Change-Id: Ic611eb26b140c060cba4d81603e506806cf43bab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167778
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-18 06:55:18 +02:00
Dione Maddern
028ac95c0e Update git submodules
* Update helpcontent2 from branch 'master'
  to d2649657002eeabbf686333faccd2b141d3bc9dc
  - tdf#161091 Document new bar-of-pie and pie-of-pie chart types
    
    In text/schart/01/type_pie.xhp:
    -  Updated "How to get" section to include specific instruction on how to access the Pie chart type, instead of just the Chart Wizard.
    - Added a description for the Bar-of-pie and Pie-of-pie chart subtypes.
    
    Change-Id: I3b8e53abd5bfde03c2e266de4953e4e99bf68379
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/167681
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-18 00:34:40 +02:00
László Németh
0e40ccfa67 Update git submodules
* Update helpcontent2 from branch 'master'
  to 0d5b1a072e025a692cee803310d2ceff0296b083
  - tdf#132599 add "Hyphenation across" -> Last full line of paragraph
    
    Document new option of LO 24.8 to control hyphenation
    in last full line of a paragraph. Fix also the changed IDs
    of the other "Hyphenation across" options.
    
    Follow-up to commit c8a99cb8dc
    "tdf#132599 sw schema xmloff: add hyphenation-keep-type='always'".
    
    Change-Id: If38c922c379506d3dc4a9c11cd428f7a28039b1d
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/167773
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-18 00:12:07 +02:00
Rafael Lima
8d16b7a9e6 tdf#160835 Fix the use of "population" in Calc functions
Change-Id: If72058a34534dc477d07e9683c0d38d7169eecf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167688
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-17 21:57:15 +02:00
Noel Grandin
359ae74cc1 loplugin:ostr in sw/../unocore
Change-Id: Ibf48c1fcdc2ed53784bb73ca718d8f9886d983d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167769
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-17 21:38:42 +02:00
Caolán McNamara
1b0686234c WaE: C6011 Dereferencing NULL pointer warnings
Change-Id: I92ff04181d3c4ec4f0e1cd9f63ce5a1dc869ffc7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167797
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-17 20:42:29 +02:00
Michael Stahl
2bcaa374ea tdf#161137 sw: AutoText or Paste should copy paragraph indents for lists
The first commit made the start and end node of the paste look like the
list it was inserted into, but the middle nodes may have different
paragraph styles and may have different left margin / first line indent.

In addition to the SwNumRule, also copy any left margin or first line
indent if it is effective on the node that the SwNumRule was taken from.

Now all the list labels should be in the same place.

Change-Id: Ia5794687ea0ff542f23289b1ca63ea99dae85bc3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167777
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-05-17 19:24:29 +02:00
Michael Stahl
7698f38641 tdf#161137 sw: fix AutoText or Paste overriding paragraph indents
The problem is that when a paragraph style specifies a SwNumRule, then
this style's indents override the indents of the SwNumRule, but if the
same SwNumRule is also added to the SwTextNode's mpAttrSet, then the
style's indents no longer take effect.

This happens both when inserting an AutoText, and when Pasting, into a
list item, because DocumentContentOperationsManager::CopyImplImpl()
sets the pNumRuleToPropagate as direct formatting on every pasted node.

Add another flag to SwDoc::SetNumRule() to check if pNumRuleToPropagate
was already in effect due to the paragraph style.

Change-Id: Id98ad2a21eab4f8636fb36f9298a054cfe4f7784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167766
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-05-17 19:23:45 +02:00
Caolán McNamara
3ddd11d18a WaE: C6011 Dereferencing NULL pointer warnings
Change-Id: I18b18f5d430e626dea9163aec0bf99ab09c5c71b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167780
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-17 17:43:03 +02:00
Caolán McNamara
1148d6ad13 introduce SAL_RET_MAYBENULL
which for debug builds and MSVC uses _Ret_maybenull_ and -analyze to
enforce null checking

Change-Id: Id7f0ad854be7841819fdbdcd56c862d1a2df86c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166734
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-05-17 17:37:58 +02:00
Jonathan Clark
30d376fb7d tdf#61444 Correct Writer text layout across formatting changes
Previously, Writer performed text layout for each span of text
separately. This caused incorrect kerning when the text style changed
mid-word, for example by highlighting or changing the color of a single
letter.

This change updates Writer so it will also consider neighboring text
while performing text layout.

Change-Id: I511096c009343f39cc1b9ba745909c5b8cbad86f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167016
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-05-17 17:35:41 +02:00
Gabor Kelemen
5e88d86d8c Use less SdOptionsSnapItem->Get/SetEliminatePolyPointLimitAngle
in favor of officecfg

Change-Id: I8a8d910578a438b494567eed30a632db6f191101
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167541
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-05-17 16:33:45 +02:00
Gabor Kelemen
fa16f9e19e Add missing officecfg call
accidentally omitted from f1c91993e5

Change-Id: I19a95e4e767792543bf04bbd8ca572017eee8992
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167772
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2024-05-17 16:05:40 +02:00
Olivier Hallot
0c3ba42a45 Review of UNIQUE function arguments text
Feel free to consider this as suggestion.

Change-Id: Ia3addb8ee7157ab0e5c5a10230adabc5963f94d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167756
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-05-17 15:32:20 +02:00
Caolán McNamara
7c25b9c2a0 WaE: C6011 Dereferencing NULL pointer warnings
Change-Id: Ic67e884555517620acb6d43bafc28e8291720913
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167770
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-05-17 14:55:04 +02:00