summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-11tdf#163486: PVS: argument name is the same as one class memberXisco Fauli
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-11tdf#163486: PVS: pointer not released in destructorXisco Fauli
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-11tdf#163486: PVS: simplify while loopXisco Fauli
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-11loplugin:reftotemp in pyuno..saxNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in drawinglayerNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in desktopNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in canvasNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in binaryurpNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in basicNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in basctlNoel Grandin
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-11remove dead commentNoel Grandin
because method is final after commit 5b2cd79aded5081ca8a4bc20fb851573ce890092 "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-11tdf#143148 use pragma once instead of include guardsHarris Popal
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-11lok: enable Zoom transition and RotateIn sub-trans. typeJaviya Vivekkumar Dineshbhai
Change-Id: I017403afe90a249cf4c703d813d44b02b0c1430b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176371 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-11-11cid#1607564 silence Overflowed integer argumentCaolán McNamara
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-11cid#1607838 silence Overflowed constantCaolán McNamara
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-11cid#1607347 silence Overflowed constantCaolán McNamara
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-11clang-tidy: performance-unnecessary-copy-initialization in connectivityNoel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in dbaccessNoel Grandin
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-11tdf#163818 package: fix recovery of zip entry local header with ...Michael Stahl
... 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 32cad89592ec04ab552399095c91dd76afb3002c and/or commit a6ad198d097fb4a503c8d5831d484ff46721134b) 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-11clang-tidy: performance-unnecessary-copy-initialization in chart2Noel Grandin
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-11clang-tidy: performance-unnecessary-copy-initialization in cuiNoel Grandin
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-11svx: prefix members of E3dSceneMiklos Vajna
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-11vcl: Return unique_ptr in weld::Dialog::weld_content_areaMichael Weghorn
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-11vcl pdf : use frozen unordered_map instead of frozen mapArnaud VERSINI
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-11tdf#162753 - Propose clipboard content only for option internetAndreas Heinisch
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-11vcl: Return unique_ptr in weld::MessageDialog::weld_message_areaMichael Weghorn
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-11tdf#130857 VclBuilder: Complete moving XML parsing to base classesMichael Weghorn
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 f61ecf25636d401f862c4de226c04237e1fb2f69 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-11tdf#130857 Move VclBuilder::handleMenu{,Child} to WidgetBuilderMichael Weghorn
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-11tdf#130857 Add WidgetBuilder::createMenu, use to abstract from VCL-specificsMichael Weghorn
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-11tdf#130857 VclBuilder: Make MenuAndId a templateMichael Weghorn
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-11VClBuilder: Avoid casting by using PopupMenu directlyMichael Weghorn
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-11tdf#130857 VclBuilder: Drop unused "GtkMenuBar" supportMichael Weghorn
The last use of a "GtkMenuBar" object in .ui files was dropped in commit 7b4169c9d54c6e90e860141a6ced51464cf102d8 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-11tdf#130857 qt weld: Call handlers when tab page changesMichael Weghorn
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-11tdf#130857 qt weld: Hold SolarMutex in QtInstanceButton::buttonClickedMichael Weghorn
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-11tdf#130857 qt weld: Support "Footnote/Endnote Settings" dlgMichael Weghorn
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-11tdf#130857 tdf#142608 qt weld: Implement QtInstanceNotebook logicMichael Weghorn
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-11tdf#130857 qt weld: Implement QtInstanceWindow::get_resizableMichael Weghorn
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-11tdf#130857 qt weld: Assert in more unimplemented methodsMichael Weghorn
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-11tdf#130857 qt weld: Implement QtInstanceWindow::has_toplevel_focusMichael Weghorn
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-11tdf#163764 Force pending timers to run after marked text changesPatrick Luby
During native dictation, waiting for the next native event is blocked while dictation runs in a loop within a native callback. Because of this, LibreOffice's painting timers won't fire until dictation is cancelled or the user pauses speaking. So, force any pending timers to fire after the marked text changes. Also, remove the fix for OpenOffice bug 106901 as causes any key down events to cancel dictation and removing the fix does not appear to cause the original crashing bug to reoccur. Note: inserting a character from the system Character Viewer window causes dictation to stop responding and the only way I have found to restart dictation is by toggling dictation off and then back on again. This same behavior occurs in Apple's TextEdit application so this appears to be a macOS bug. Change-Id: Iad2b54870ff1a315f2f71d72bef24af3cea808e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176100 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-11-10tdf#163486: PVS: The variable was asign the same value.Bogdan Buzea
V1048 The 'bNumeric' variable was assigned the same value. See line 205 and 232. Change-Id: If047644a491c8c52933e9bc25d8d85dcbd3565c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175154 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins
2024-11-10tdf#163486: PVS: The variable was asign the same value.Bogdan Buzea
V1048 The 'eEnableChildren' variable was assigned the same value. See lines 2537 and 2542. Change-Id: If1e7630ea3fc3bec8401977a011f29380c70da0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175156 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins
2024-11-10tdf#163486: PVS: Identical branchesBogdan Buzea
Change-Id: If68fa2c871472a21d9404370351828753db37ee4 V1037: Two or more case-branches perform the same actions. Check lines: 727, 731 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175159 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-11-10Update git submodulesDione Maddern
* Update helpcontent2 from branch 'master' to 4c8d7f27a01462bf8e05b6fd5cdc979433d62412 - Remove empty paragraph at line 78 Removed empty paragraph at line 78 to avoid warnings and translation problems. Change-Id: I6d28f08bed4ec68921c1b8640504eff966cf517c Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176349 Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins
2024-11-10Update git submodulesDione Maddern
* Update helpcontent2 from branch 'master' to 9e9a188e016b3126a9b07d50084338dfead65bf6 - Fix empty heading in 'Edit module' help page Added text to the heading in line 77, so that in now reads "Reset", to avoid the warning: > Helpex warning: invalid po attributes extracted from /home/timar/libreoffice-master/helpcontent2/source/text/shared/optionen/01010401.xhp > No string specified!> > GroupID: hd_id3161832 - and problems with translation. Change-Id: Ia5936a110fa1bbe663032f5fc36b07b7e1af210c Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176347 Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins
2024-11-10tdf#162686 tdf#162687 ODF 1.4 extrusion-metal-typeRegina Henschel
and extrusion-specularity. In ODF strict always value 'draw:MetalODF' was written. Changed the logic to write 'loext:MetalMSCompatible' too, depending on eMetalType. Using a QName as value requires a namespace declaration for the prefix 'loext'. That is now written directly at the element, not as global declaration, to restrict its scope to the element. A global declaration would hide when attributes or elements are accidentially written in 'loext' namespace. The pattern for nonNegativePercent had missed the percent sign. The export is adapted to write the percent sign. Validation is skipped for save to ODF 1.3, because currently the implicit validation uses always latest ODF version, see tdf#163806. Tests are extended to cover ODF 1.4 and value draw:MetalODF. Change-Id: I836d11b9cd327b9772e800d9797e04e1613ab2f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176246 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2024-11-10drop a staticCaolán McNamara
Change-Id: Ic4eeb87e680cec3667f305e57de2f4688e1ea138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176321 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-10tdf#163734 Revert commit f4c2c7c79cfe4464ac596afda37b8904d06969dbPatrick Luby
Commit f4c2c7c79cfe4464ac596afda37b8904d06969db lowered the Skia flushing priority to solve tdf#157312. But the commit caused the "window will dock in rectangle" border to not be drawn when dragging a dockable window over a dockable position. Surprisingly, tdf#157312 does not reoccur without the commit so it appears that the commit is now unnecessary. Change-Id: Ibd74ef94e8448cf32fd690d7a26dd098191040b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176341 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-11-10rRedlTable is rDoc.getIDocumentRedlineAccess().GetRedlineTable()Caolán McNamara
so make this less confusing Change-Id: Icc4d4c43f0d35963bb71cdcd64bdd78b00ed9632 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176324 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-10cid#1607160 Overflowed return valueCaolán McNamara
and cid#1606794 Overflowed return value Change-Id: I222f5fa18ed26ee92d970c744682bf21147265ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176313 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>