Commit graph

501390 commits

Author SHA1 Message Date
Olivier Hallot
f8747a031f Update git submodules
* Update helpcontent2 from branch 'master'
  to 13a862f5e9be286576e7be2aa601346d7a2fe516
  - Remove uui screenshots (not used)
    
    Change-Id: I10ea0c9fe4e7e4ae4c5e02f131513b38860b0d36
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176424
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-11 19:51:00 +01:00
Olivier Hallot
d901c1c238 Update git submodules
* Update helpcontent2 from branch 'master'
  to 98f3d703be6e588c27a94e6ae41d5e4ce74cebbe
  - Remove xmlsec screenshots (not used)
    
    Change-Id: I1ed333e894796d04a79edc070bf675abf6ee9da1
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176423
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-11 19:50:23 +01:00
Noel Grandin
2f94498419 loplugin:reftotemp in helpcompiler..i18npool
Change-Id: I6f7794e6988d1e91c848a093ed85ddb0c6d1c67a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176373
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 18:29:07 +01:00
Noel Grandin
ce8816ff95 loplugin:reftotemp in drawinglayer..framework
Change-Id: I31618b4ae7ea4e37834bffc89e352b4c33eda14d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176372
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-11 18:28:57 +01:00
Mike Kaganski
a9ac0a7f6c tdf#144717: fix SwInsFootNoteDlg's next/prev button state check
Trying to move the current cursor, which may actually be a selection,
to find next/prev footnore, may try to expand the selection across a
table boundary (from outside to inside), which would fail. This was
incorrectly treated as "there's no next/prev footnote, the cursor is
unchanged" case, and the cursor wasn't restored.

Use a separate local cursor object for testing; and make it at least
somewhat useful, to detect the case when there's no more footnotes
in the document, so the prev/next buttons would get disabled.

Change-Id: I7db100dfdd290fe01b3eebe17f1dec2784315243
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176399
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-11 18:25:48 +01:00
Caolán McNamara
92618090a3 cid#1607751 silence Overflowed constant
Change-Id: I809149469d5393250e86116c37a41f7a52682484
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176384
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 18:22:40 +01:00
Caolán McNamara
7571696cdb cid#1607456 silence Overflowed constant
Change-Id: I6b8391df0d404e1e39d27a979d5e27211661fbac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176383
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 18:22:33 +01:00
Caolán McNamara
98d80106a3 cid#1607376 Overflowed constant
Change-Id: Ib02923e0c40e97fa7a22c7f68079df48baf3fcb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176382
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-11-11 18:22:26 +01:00
Caolán McNamara
4d551b7234 cid#1607427 Overflowed constant
and

cid#1607919 Overflowed constant

Change-Id: Ifad54a4aa6863e23ee9432d4faacf2a61b4d93e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176379
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 18:22:14 +01:00
Xisco Fauli
8080459c1c tdf#163486: PVS: exception thrown by pointer
Since
commit a6ad198d09
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date:   Sat Aug 17 13:19:54 2024 +0200

    tdf#158556 use more comphelper::ByteReader

V1022 	An exception was thrown by pointer. Consider throwing it by value instead.

Change-Id: I9218d79097975e47822f48838472ca2096d527d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176398
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-11 17:48:07 +01:00
Xisco Fauli
b350937ef3 sw: Dereference before null check
Since
commit 2a2c4dddf5
Author: Andreas Heinisch <andreas.heinisch@yahoo.de>
Date:   Tue Oct 29 12:11:41 2024 +0100

    tdf#153636 - Search for outline node only if index is for the current chapter

Change-Id: If969db7c4eee4c542ff99f9d405aa7f1d2a8f414
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176403
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-11-11 17:30:12 +01:00
Xisco Fauli
c96e390285 tdf#163486: PVS: argument name is the same as one class member
V688 	The 'nNegativeFormat' function argument possesses the same name as one of the class members, which can result in a confusion.

Change-Id: Ia558367b2325820f1cdeedcd92a7a0e663cf9f15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176402
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-11 16:45:29 +01:00
Xisco Fauli
39fe8e3f27 tdf#163486: PVS: pointer not released in destructor
The 'm_pControlNumberStyles' pointer was not released in destructor. A memory leak is possible.

Change-Id: Ie60806814ec65b73d0eaf07b53e7dc133b33bf24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176396
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-11 15:52:24 +01:00
Xisco Fauli
7743f64869 tdf#163486: PVS: simplify while loop
V1044 	Loop break conditions do not depend on the number of iterations.

Change-Id: Id43a749c090d26b6db174a1ad44df904d20863d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176397
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-11-11 15:52:07 +01:00
Noel Grandin
8030c5cfbb loplugin:reftotemp in pyuno..sax
Change-Id: Ia616256e06f64ad3c635ac30abf521e5dab107d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176401
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 15:47:38 +01:00
Noel Grandin
bc7a5d01a0 clang-tidy: performance-unnecessary-copy-initialization in drawinglayer
Change-Id: I7ed82c26a5c9d5e7803776e96b19bd8f4d98259e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176393
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 15:47:26 +01:00
Noel Grandin
40afc6f25a clang-tidy: performance-unnecessary-copy-initialization in desktop
Change-Id: I0e6ce8858fc058403020e2db863730f04cac70db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176392
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-11 15:47:17 +01:00
Noel Grandin
08ed26c3b8 clang-tidy: performance-unnecessary-copy-initialization in canvas
Change-Id: I1d08cfe979529614ab2c66702c33a9045b026f23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176391
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 15:47:08 +01:00
Noel Grandin
aa48441b0b clang-tidy: performance-unnecessary-copy-initialization in binaryurp
Change-Id: I8af73afaf063294786890a71abe97add283289a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176390
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-11 15:47:00 +01:00
Noel Grandin
cc70c63f8f clang-tidy: performance-unnecessary-copy-initialization in basic
Change-Id: I38bc2711bdec2bdaf998401083ff9b62a5595616
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176389
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 15:46:52 +01:00
Noel Grandin
f59d4e4e3e clang-tidy: performance-unnecessary-copy-initialization in basctl
Change-Id: Icc609ffded11c78c7052356a0ecc8b138a11f13e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176388
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 15:46:42 +01:00
Noel Grandin
842c32c33c remove dead comment
because method is final after
commit 5b2cd79ade "loplugin:finalmethods"

Change-Id: Ib530133c42343a512497df012e3d7ed21a8d96bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176378
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 14:06:12 +01:00
Harris Popal
43a8f573ea tdf#143148 use pragma once instead of include guards
Change-Id: I7b082c51a7092e18bdbf5a1fbab3fa4e5a97a28a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176039
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-11-11 12:47:54 +01:00
Javiya Vivekkumar Dineshbhai
afdf42181d lok: enable Zoom transition and RotateIn sub-trans. type
Change-Id: I017403afe90a249cf4c703d813d44b02b0c1430b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176371
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2024-11-11 12:11:16 +01:00
Caolán McNamara
557b2dcb3c cid#1607564 silence Overflowed integer argument
Change-Id: Ib008987be1102782fd92214ae8bf35f8f862d2a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176381
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-11-11 11:15:28 +01:00
Caolán McNamara
8bf5fa407e cid#1607838 silence Overflowed constant
Change-Id: I4201afc8ee115200f47de4e7b7974f82735a1f01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176380
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 11:15:19 +01:00
Caolán McNamara
09c0f1cfa6 cid#1607347 silence Overflowed constant
and

cid#1607622 Overflowed constant

Change-Id: I596708e75118a281fcd8166caf89f2aa741ab605
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176323
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 11:14:59 +01:00
Noel Grandin
f2fc901be9 clang-tidy: performance-unnecessary-copy-initialization in connectivity
Change-Id: Ibb485324c71b78ff569cb15b6cf6f7f3889e1dc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176376
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 10:58:45 +01:00
Noel Grandin
681c7292b2 clang-tidy: performance-unnecessary-copy-initialization in dbaccess
Change-Id: If72f9eea59e5f2a4e183b98888a037ea26333cb8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176377
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-11 10:58:19 +01:00
Michael Stahl
80cda6954a tdf#163818 package: fix recovery of zip entry local header with ...
... compressed size = 0.

The problem is that vector::data() on a vector of size 0 returns
nullptr, and osl_readFile into a nullptr buffer returns E_INVAL, which
causes an exception to be thrown.

Catch the exception, so that there is a chance to read the values from
the data descriptor instead.

(regression from commit 32cad89592
 and/or commit a6ad198d09)

Change-Id: I9b2d9a930997146faf224d8033955b142fe93f58
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176289
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
2024-11-11 10:16:15 +01:00
Noel Grandin
950cd20f5f clang-tidy: performance-unnecessary-copy-initialization in chart2
Change-Id: I6f84cfea6390d6a263e5e43ec5a638260c10c00d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176374
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 10:10:51 +01:00
Noel Grandin
0879fd8ea4 clang-tidy: performance-unnecessary-copy-initialization in cui
Change-Id: Idbce2978dee6c485e50dc6ceccf67d7d3722bb17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176375
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 10:10:38 +01:00
Miklos Vajna
1f7e854887 svx: prefix members of E3dScene
See tdf#94879 for motivation.

Change-Id: Ia235f420f9ae00ad25be4ca2c06ee942ffc3e6e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176369
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-11-11 09:49:49 +01:00
Michael Weghorn
719bb5c719 vcl: Return unique_ptr in weld::Dialog::weld_content_area
This is effectively the weld::Dialog equivalent of

    Change-Id: Ia839fac90ea93b9ac6be5819aa4bb3261a775f33
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sun Nov 10 23:01:07 2024 +0100

        vcl: Return unique_ptr in weld::MessageDialog::weld_message_area

Change-Id: I3eee2d3617c3576b442a5578090cd5de53e17f33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176365
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-11-11 09:34:46 +01:00
Arnaud VERSINI
f39f318a6f vcl pdf : use frozen unordered_map instead of frozen map
Change-Id: I6e9c3562fa13bf5e1adf7de55c48d1e7326d288e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175969
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 09:06:06 +01:00
Andreas Heinisch
caeb32875a tdf#162753 - Propose clipboard content only for option internet
Change-Id: I030bc4c824ba8946104fe2e6adfd3b445de2b238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176348
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-11-11 08:00:19 +01:00
Michael Weghorn
46009c8517 vcl: Return unique_ptr in weld::MessageDialog::weld_message_area
The returned weld::Container* (but not the associated toolkit
widget) is owned by the caller.
Make that more obvious by returning a unique_ptr<weld::Container>
instead of a raw pointer.

This is also consistent with what other methods returning
instances for which the caller takes over ownership
(like weld::Widget::weld_parent) do, whereas
e.g. weld::Notebook::get_page returns a weld::Container*
that is owned by the weld::Notebook instance, not the caller.

Change-Id: Ia839fac90ea93b9ac6be5819aa4bb3261a775f33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176363
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:51:55 +01:00
Michael Weghorn
774786a019 tdf#130857 VclBuilder: Complete moving XML parsing to base classes
Move VclBuilder::handleMenuObject to the WidgetBuilder template
base class, and add a new purely virtual WidgetBuilder::insertMenuObject
that the existing VclBuilder equivalent now overrides.

This moves the remaining XML parsing logic from VclBuilder
to one of the base classes (WidgetBuilder, BuilderBase),
following the approach outlined in

    commit f61ecf2563
    Author: OmkarAcharekar <omkaracharekar12@gmail.com>
    Date:   Fri Sep 20 13:33:01 2024 +0200

        tdf#130857 refactor VclBuilder: Extract template base class

Update the source code comments accordingly.

For QtBuilder, initially add a dummy implementation
that simply triggers an assert, but can be adjusted
in the future to create native Qt menus.

Change-Id: I3147cac28c7273cd4c4ea7344a083cd66af8337f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176362
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:51:47 +01:00
Michael Weghorn
73bb40c274 tdf#130857 Move VclBuilder::handleMenu{,Child} to WidgetBuilder
Move VclBuilder::handleMenu and VclBuilder::handleMenuChild
to the base class WidgetBuilder and add a new virtual
WidgetBuilder::handleMenuObject method (used by
WidgetBuilder::handleMenuChild) that
the existing VclBuilder implementation now overrides.

This prepares for allowing to use this by subclasses
that create menus other than the VCL PopupMenu and
continues the intended separation between XML parsing
done in WidgetBuilder and actual widget creation
(in subclasses implementing the vcl::Window or toolkit
specific logic.)

Change-Id: Idc896570e4b21f6997e548b7bdab8a9610042bff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176361
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:51:39 +01:00
Michael Weghorn
5323a78637 tdf#130857 Add WidgetBuilder::createMenu, use to abstract from VCL-specifics
Add a new purely virtual WidgetBuilder::createMenu
and use that in VclBuilder::handleMenu instead
of directly calling VclPtr<PopupMenu>::Create there.

This is in preparation of moving
VclBuilder::handleMenu to WidgetBuilder as well,
to make it reusable for other child classes, in
particular QtBuilder.

Change-Id: Icf3f937ea8e876c8393185e41a95e0f66458ce11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176360
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-11-11 01:51:28 +01:00
Michael Weghorn
df3483fa74 tdf#130857 VclBuilder: Make MenuAndId a template
Move the MenuAndId struct and the `m_aMenus` member from
VclBuilder to the WidgetBuilder base class and add two template
parameters `MenuClass` and `MenuPtr`, which VclBuilder
specializes with `PopupMenu` and `VclPtr<PopupMenu>`,
effectively leaving the logic unchanged.

Move VclBuilder::get_menu accordingly.

For QtBuilder, use `QMenu` and `QMenu*` for
the new template class parameters.
This can be used to implement support for
native Qt menus in the future.

Change-Id: Ib015b1b1e6968338ed7419b1822665a521ca748d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176359
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:50:43 +01:00
Michael Weghorn
c88cd599d4 VClBuilder: Avoid casting by using PopupMenu directly
Now that GtkMenuBar support was dropped in

    Change-Id: I550c83c6d5d13a5e45dc9332e981bae8b0f0a9a3

    commit fa245e4eea218b3c707998e597c526b9d1fdb508
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sun Nov 10 20:24:11 2024 +0100

        tdf#130857 VclBuilder: Drop unused "GtkMenuBar" support

, use PopupMenu directly in MenuAndId instead of just the
Menu base class, which makes it unnecessary to cast when
a PopupMenu is wanted.

Change-Id: I51a44f219970f29a12aa15ee58e8512c62fca43e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176358
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:50:22 +01:00
Michael Weghorn
3bdcd536db tdf#130857 VclBuilder: Drop unused "GtkMenuBar" support
The last use of a "GtkMenuBar" object in .ui files
was dropped in

    commit 7b4169c9d5
    Date:   Wed Jun 9 01:56:48 2021 +0530

        Implement Interface for Data Providers.

Drop the code handling it, to simplify the existing code
and an upcoming refactoring.

Change-Id: I550c83c6d5d13a5e45dc9332e981bae8b0f0a9a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176357
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:49:55 +01:00
Michael Weghorn
d4edde13e8 tdf#130857 qt weld: Call handlers when tab page changes
Call the corresponding handlers to notify about
the previous and current tab page when switching
the tab page in QtInstanceNotebook, by remembering
the identifier of the current page and using that
in a slot connected to the QTabWidget::currentChanged
signal.

Change-Id: I387c75b3af138cf9b89f169f0a3c223c262c2a92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176356
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-11-11 01:49:34 +01:00
Michael Weghorn
5000c5bdfe tdf#130857 qt weld: Hold SolarMutex in QtInstanceButton::buttonClicked
Hold the SolarMutex when calling the button clicked
handler.

Otherwise, opening Writer's "Tools" -> "Footnote/Endnote Settings"
dialog and closing with the "OK" button triggers an assert when
using native Qt widgets (i.e. with env var
SAL_VCL_QT_USE_WELDED_WIDGETS=1 set).

Backtrace:

    1 __pthread_kill_implementation pthread_kill.c 44 0x7ffff789de5c
    2 __pthread_kill_internal pthread_kill.c 78 0x7ffff789debf
    3 __GI_raise raise.c 26 0x7ffff7849c82
    4 __GI_abort abort.c 79 0x7ffff78324f0
    5 __assert_fail_base assert.c 94 0x7ffff7832418
    6 __assert_fail assert.c 103 0x7ffff7842592
    7 ImplDbgTestSolarMutex dbggui.cxx 35 0x7fffeec2eb1e
    8 DbgTestSolarMutex debug.cxx 54 0x7ffff6d2bee0
    9 SwModify::Add calbck.cxx 174 0x7fffbe3b9f49
    10 SwClient::SwClient calbck.hxx 428 0x7fffbe3be8bb
    11 sw::ListenerEntry::ListenerEntry calbck.hxx 241 0x7fffbe3be845
    12 std::construct_at<sw::ListenerEntry, SwClient *, SwModify *&> stl_construct.h 97 0x7fffbe3be80f
    13 std::allocator_traits<std::allocator<sw::ListenerEntry>>::construct<sw::ListenerEntry, SwClient *, SwModify *&> alloc_traits.h 571 0x7fffbe3be5ec
    14 std::__cxx1998::vector<sw::ListenerEntry>::_M_realloc_append<SwClient *, SwModify *&> vector.tcc 634 0x7fffbe3be5ec
    15 std::__cxx1998::vector<sw::ListenerEntry>::emplace_back<SwClient *, SwModify *&> vector.tcc 123 0x7fffbe3be3ca
    16 std::vector<sw::ListenerEntry>::emplace_back<SwClient *, SwModify *&> vector 599 0x7fffbe3bd80a
    17 sw::WriterMultiListener::StartListening calbck.cxx 262 0x7fffbe3bb65d
    18 SwEndNoteInfo::GetCharFormat docftn.cxx 166 0x7fffbe6911c1
    19 (anonymous namespace)::lcl_ResetPoolIdForDocAndSync docftn.cxx 186 0x7fffbe69130b
    20 SwEndNoteInfo::SetCharFormat docftn.cxx 193 0x7fffbe691223
    21 SwEndNoteOptionPage::FillItemSet docfnote.cxx 342 0x7fffa88bdb58
    22 SwFootNoteOptionDlg::OkHdl docfnote.cxx 60 0x7fffa88bb484
    23 SwFootNoteOptionDlg::LinkStubOkHdl docfnote.cxx 55 0x7fffa88bb19d
    24 Link<weld::Button&, void>::Call link.hxx 111 0x7fffe4732de1
    25 weld::Button::signal_clicked weld.hxx 1519 0x7fffe47323ac
    26 QtInstanceButton::buttonClicked QtInstanceButton.cxx 102 0x7fffe473076c
    27 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton:: *)()>::call(void (QtInstanceButton:: *)(), QtInstanceButton *, void * *)::{lambda()#1}::operator()() const qobjectdefs_impl.h 127 0x7fffe47332b1
    28 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton:: *)()>::call(void (QtInstanceButton:: *)(), QtInstanceButton *, void * *)::{lambda()#1}>(void * *, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton:: *)()>::call(void (QtInstanceButton:: *)(), QtInstanceButton *, void * *)::{lambda()#1}&&) qobjectdefs_impl.h 65 0x7fffe47331e9
    29 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceButton:: *)()>::call(void (QtInstanceButton:: *)(), QtInstanceButton *, void * *) qobjectdefs_impl.h 126 0x7fffe473311b
    30 QtPrivate::FunctionPointer<void (QtInstanceButton:: *)()>::call<QtPrivate::List<>, void>(void (QtInstanceButton:: *)(), QtInstanceButton *, void * *) qobjectdefs_impl.h 174 0x7fffe473309d
    31 QtPrivate::QCallableObject<void (QtInstanceButton:: *)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 545 0x7fffe4732fc6
    32 QtPrivate::QSlotObjectBase::call qobjectdefs_impl.h 461 0x7fffe385ace2
    33 doActivate<false> qobject.cpp 4127 0x7fffe3919054
    34 QMetaObject::activate qobject.cpp 4187 0x7fffe390ecf3
    35 QAbstractButton::clicked moc_qabstractbutton.cpp 396 0x7fffe1a24d79
    36 QAbstractButtonPrivate::emitClicked qabstractbutton.cpp 381 0x7fffe1a24c77
    37 QAbstractButtonPrivate::click qabstractbutton.cpp 374 0x7fffe1a24ad1
    38 QAbstractButton::mouseReleaseEvent qabstractbutton.cpp 976 0x7fffe1a25fbf
    39 QWidget::event qwidget.cpp 8967 0x7fffe189d44d
    40 QAbstractButton::event qabstractbutton.cpp 933 0x7fffe1a25ddc
    41 QPushButton::event qpushbutton.cpp 684 0x7fffe1b9c251
    42 QApplicationPrivate::notify_helper qapplication.cpp 3296 0x7fffe17e1989
    43 QApplication::notify qapplication.cpp 2774 0x7fffe17e366d
    44 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1124 0x7fffe3843cca
    45 QCoreApplication::sendSpontaneousEvent qcoreapplication.cpp 1582 0x7fffe3844c09
    46 QApplicationPrivate::sendMouseEvent qapplication.cpp 2355 0x7fffe17e22a7
    47 QWidgetWindow::handleMouseEvent qwidgetwindow.cpp 667 0x7fffe18dc2ff
    48 QWidgetWindow::event qwidgetwindow.cpp 299 0x7fffe18daab5
    49 QApplicationPrivate::notify_helper qapplication.cpp 3296 0x7fffe17e1989
    50 QApplication::notify qapplication.cpp 3247 0x7fffe17e58bd
    51 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1124 0x7fffe3843cca
    52 QCoreApplication::sendSpontaneousEvent qcoreapplication.cpp 1582 0x7fffe3844c09
    53 QGuiApplicationPrivate::processMouseEvent qguiapplication.cpp 2465 0x7fffe267ee7a
    54 QGuiApplicationPrivate::processWindowSystemEvent qguiapplication.cpp 2192 0x7fffe267e036
    55 QWindowSystemInterface::sendWindowSystemEvents qwindowsysteminterface.cpp 1113 0x7fffe27640ed
    56 QWindowSystemInterface::flushWindowSystemEvents qwindowsysteminterface.cpp 1082 0x7fffe2763f9e
    57 QtWaylandClient::QWaylandDisplay::flushRequests qwaylanddisplay.cpp 511 0x7fffdfea8575
    58 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *)::{lambda()#1}::operator()() const qobjectdefs_impl.h 127 0x7fffdfec3cf5
    59 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}&&) qobjectdefs_impl.h 65 0x7fffdfec3c1d
    60 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *) qobjectdefs_impl.h 126 0x7fffdfec3b3f
    61 QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay:: *)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *) qobjectdefs_impl.h 174 0x7fffdfec3ab1
    62 QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay:: *)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 545 0x7fffdfec39db
    63 QtPrivate::QSlotObjectBase::call qobjectdefs_impl.h 461 0x7fffe385ace2
    64 QMetaCallEvent::placeMetaCall qobject.cpp 621 0x7fffe390376c
    65 QObject::event qobject.cpp 1420 0x7fffe39055c0
    66 QApplicationPrivate::notify_helper qapplication.cpp 3296 0x7fffe17e1989
    67 QApplication::notify qapplication.cpp 3247 0x7fffe17e58bd
    68 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1124 0x7fffe3843cca
    69 QCoreApplication::sendEvent qcoreapplication.cpp 1568 0x7fffe3844b79
    70 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1923 0x7fffe38464b4
    71 QCoreApplication::sendPostedEvents qcoreapplication.cpp 1755 0x7fffe38449a1
    72 postEventSourceDispatch qeventdispatcher_glib.cpp 246 0x7fffe3e2e311
    73 ?? 0x7fffea30c7df
    74 ?? 0x7fffea30ea17
    75 g_main_context_iteration 0x7fffea30f180
    76 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 399 0x7fffe3e2d50b
    77 QPAEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 89 0x7fffe2f59238
    78 QtInstance::ImplYield QtInstance.cxx 464 0x7fffe4709672
    79 QtInstance::DoYield QtInstance.cxx 475 0x7fffe470c6f1
    80 ImplYield svapp.cxx 385 0x7fffeed0fed6
    81 Application::Yield svapp.cxx 473 0x7fffeed0f86f
    82 Application::Execute svapp.cxx 360 0x7fffeed0f650
    83 desktop::Desktop::Main app.cxx 1679 0x7ffff7b2696b
    84 ImplSVMain svmain.cxx 228 0x7fffeed30756
    85 SVMain svmain.cxx 246 0x7fffeed32349
    86 soffice_main sofficemain.cxx 121 0x7ffff7ba04ba
    87 sal_main main.c 51 0x555555555a6d
    88 main main.c 49 0x555555555a47

Change-Id: I23aab31c981483830245130cbd06991c1732fc5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176355
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:49:08 +01:00
Michael Weghorn
a7a9acc2ce tdf#130857 qt weld: Support "Footnote/Endnote Settings" dlg
Declare support for the Writer "Tools" ->
"Footnote/Endnote Settings" dialog.

This means that native Qt widgets are used for that dialog
now when using the qt5 or qt6 VCL plugin and starting LO with
environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set.

This is the first supported dialog making use of "GtkNotebook"/
QtInstanceNotebook, i.e. of what was implemented in previous commit

    Change-Id: I52e11ecf053a48940b88b7e6d1e6f9ba8778d9bb
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sun Nov 10 18:54:28 2024 +0100

        tdf#130857 qt weld: Implement QtInstanceNotebook logic

For such dialogs, support doesn't only need to be declared for
the dialog's top-level .ui file ("modules/swriter/ui/footendnotedialog.ui"),
but also for the .ui files of the single tab pages
(s. SwEndNoteOptionPage::SwEndNoteOptionPage), otherwise
the tab page content isn't shown.

Change-Id: Icb8c05cf0616651ae811185095232716bea21bcf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176354
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:48:52 +01:00
Michael Weghorn
2f942db0c1 tdf#130857 tdf#142608 qt weld: Implement QtInstanceNotebook logic
Implement all of the QtInstanceNotebook methods,
see also GtkInstanceNotebook and SalInstanceNotebook
for the gtk3 and VCL implementations for comparison.

Unlike weld::Notebook, QTabWidget doesn't have the
concept of IDs for tabs in addition to indices.
Introduce a PROPERTY_TAB_PAGE_ID property that
gets set on the widget of the corresponding tabs
and holds the tab identifier in order to support
that.

Implement QtBuilder::applyTabChildProperties
to set the tab label and ID property by using
the newly introduced QtInstanceNotebook::setTabIdAndLabel,
so only QtInstanceNotebook needs to handle that
property.

The weld::Container* returned by QtInstanceNotebook::get_page
is owned by QtInstanceNotebook, so keep create one
on demand and keep a mapping between tab pages and
the corresponding weld::Container.

In QtInstanceNotebook::insert_page, create a new
widget and set a QVBoxLayout for now. That could
be changed to use a different QLayout class in the
future if that turns out to be more useful.

In QtBuilder::makeObject, as the tab pages are children
of the "GtkNotebook" in the .ui file, they are initially
created as child widgets of the QTabWidget.
However, they need to be set via QTabWidget::setTab instead,
so add special handling for that case towards the end and
unset the parent relationship and call that method.

Change-Id: I52e11ecf053a48940b88b7e6d1e6f9ba8778d9bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176353
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:48:36 +01:00
Michael Weghorn
632b211dfc tdf#130857 qt weld: Implement QtInstanceWindow::get_resizable
Change-Id: If8814188ae5cfeabaf077f31f0ab43157ec71d7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176352
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:48:18 +01:00
Michael Weghorn
fc53fdc8c3 tdf#130857 qt weld: Assert in more unimplemented methods
Add asserts, so that it becomes clear if any dialog
wants to use logic that's not implemented yet, rather
than just not doing what was requested.

This helps prioritize what to implement while
adding support for more dialogs.

Change-Id: Iee708d96260d836879974b65e240ba7343b205f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176351
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:47:53 +01:00
Michael Weghorn
343c63fd02 tdf#130857 qt weld: Implement QtInstanceWindow::has_toplevel_focus
Change-Id: I62099b15349c6fec52a79c3f59f85492ec325dff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176350
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-11 01:47:42 +01:00