summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-27android-viewer translated using WeblateWeblate
Interlingua currently translated at 75.8% (88 of 116 strings) Change-Id: I75ff1908970b8d28c3380e5791aea0146354868c Co-authored-by: eduver <hmcb2080@gmail.com> Translate-URL: https://translations.documentfoundation.org/projects/android-viewer/android-strings/ia/ Translation: android-viewer/android-strings Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177272 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-27Drop separate instantiation of objects included in AllSettingsMike Kaganski
Change-Id: If56c0cbf5679bee57f6fe1b364c402d949089b87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177386 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-27tsan: use of freed mutexNoel Grandin
Because the mutex has already been freed because raptor calls xmlCleanupParser I have logged a feature request against raptor for a flag to turn off this behaviour, but until that lands, this will have to do. ----- make CppunitTest_filter_pdf results in WARNING: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or destroyed) (pid=330602) 0 pthread_mutex_lock /home/noel/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1371 (discriminator 8) (cppunittester+0x7e1be) 1 xmlDictFree ??:? (libxml2.so.2+0x3404b) (BuildId: 14c9410dbe8278dfa121dabc48c9ae25eac169d1) 2 lt_xml_unref /home/noel/libo-tsan/workdir/UnpackedTarball/liblangtag/liblangtag/lt-xml.c:351 (liblangtag-lo.so.1+0x1fc6a) 3 lt_db_finalize /home/noel/libo-tsan/workdir/UnpackedTarball/liblangtag/liblangtag/lt-database.c:144 (liblangtag-lo.so.1+0xac22) 4 (anonymous namespace)::LiblangtagDataRef::teardown() /home/noel/libo-tsan/i18nlangtag/source/languagetag/languagetag.cxx:219 (libi18nlangtag.so+0x20951) 5 (anonymous namespace)::LiblangtagDataRef::~LiblangtagDataRef() /home/noel/libo-tsan/i18nlangtag/source/languagetag/languagetag.cxx:204 (libi18nlangtag.so+0x20951) 6 cxa_at_exit_callback_installed_at(void*) /home/noel/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:445 (cppunittester+0x6e3af) 7 LanguageTagImpl::canonicalize() /home/noel/libo-tsan/i18nlangtag/source/languagetag/languagetag.cxx:190 (libi18nlangtag.so+0xe370) 8 main /home/noel/libo-tsan/sal/cppunittester/cppunittester.cxx:482 (cppunittester+0x10cf6c) Change-Id: I5d9ff1c5667f8e19e5858cd5a408e8f95d2a98e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177320 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-27Allow toggling grid options on/off via config to update writerCaolán McNamara
SwGridConfig ConfigItem didn't listen to the config changes. Note that after this, while toggling e.g. VisibleGrid on/off in expert settings doesn't initially appear to do a whole pile, it does affect newly created documents, while before this change it does not. Existing documents don't update to use that config. Toggling this on/off via the explicit Show Grid ends up in SwModule::ApplyUsrPref(const SwViewOption &rUsrPref, SwView* pActView) with something of a bodge to determine the current SwView in order to affect the document the setting dialog is launched from, which is why it changes the current document, and new documents, but not any other open documents. Change-Id: Ic57e89e3aa9765ad3c4374ddf02ed718382cf518 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177349 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-27SwContentViewConfig already ctor calls LoadCaolán McNamara
so this one doesn't need another explicit Load called Change-Id: If1ff686655a90ed81be97bf0821518b2e82bdd57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177369 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-27Reuse SAL_ACCESSIBILITY_ENABLED to allow disabling a11y on WindowsMike Kaganski
After commit c5b6e3ac564c35aa10744d498b372fa5d4f68bf3 (win a11y: Stop using setting to indicate AT support, 2024-10-30), the a11y status doesn't depend on a setting, and will be enabled whenever anything on Windows sends a WM_GETOBJECT messaage to a window. To allow debugging without a11y interference, use the existing SAL_ACCESSIBILITY_ENABLED environment variable, and extend it to use its "0" value to disable. Change-Id: I43bdec59a195ace3f704206d9ebe07352dd3e819 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177385 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-27starmath: fix deref nullptrXisco Fauli
Change-Id: I84ad6d24d850857949bbae403cb6f640cd31b16e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177374 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-27vcl: Drop unnecessary casts in VclMultiLineEditMichael Weghorn
Neither the const_cast, nor the explicit cast to vcl::Window is needed here in order to call vcl::Window::GetBorder. Change-Id: Id234d21e6d9792e83487fc5503cd737fe3832b91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177377 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-27weld: Rename weld::Dialog::{widget -> button}_for_responseMichael Weghorn
Rename weld::Dialog::widget_for_response to weld::Dialog_button_for_response as it specifically returns a weld::Button, not a generic weld::Widget (other than GTK's `gtk_dialog_get_widget_for_response` [1] which returns a GtkWidget). [1] https://docs.gtk.org/gtk3/method.Dialog.get_widget_for_response.html Change-Id: I3b1dc34c0af752853551d2ebb706109f2214720d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177376 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-27weld: Return unique_ptr in weld::Dialog::widget_for_responseMichael Weghorn
... to make more obvious from the API that the caller owns the returned weld::Button* (but not the underlying toolkit widget). Change-Id: I64f57f80e4eea4c2c984fa7b615b5a2350ed892a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177375 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-27Release CXNotifyingDataObject in separate threadMike Kaganski
The reported deadlocking situation at paste was: 1. Thread CMtaOleClipboard::run() is handling CXNotifyingDataObject::Release, which calls CWinClipboard::onReleaseDataObject before deleting self, and that eventually tries to lock solar mutex: sal3!osl_acquireMutex+0x49 [sal\osl\w32\mutex.cxx @ 65] vclplug_winlo!osl::Mutex::acquire+0xa [include\osl\mutex.hxx @ 63] vclplug_winlo!SalYieldMutex::doAcquire+0x91 [vcl\win\app\salinst.cxx @ 148] vcllo!osl::Guard<comphelper::SolarMutex>::{ctor}+0xe [include\osl\mutex.hxx @ 144] vcllo!SolarMutexGuard::{ctor}+0x1b [include\vcl\svapp.hxx @ 1340] vcllo!TransferableHelper::lostOwnership+0x36 [vcl\source\treelist\transfer.cxx @ 487] vclplug_winlo!CXNotifyingDataObject::lostOwnership+0x61 [vcl\win\dtrans\XNotifyingDataObject.cxx @ 140] vclplug_winlo!CWinClipboard::onReleaseDataObject+0x57 [vcl\win\dtrans\WinClipboard.cxx @ 364] vclplug_winlo!CXNotifyingDataObject::Release+0x36 [vcl\win\dtrans\XNotifyingDataObject.cxx @ 77] combase!Ordinal230+0x1c9b ... combase!Ordinal87+0x3d19 USER32!DispatchMessageW+0x741 USER32!DispatchMessageW+0x201 vclplug_winlo!CMtaOleClipboard::run+0x18f [vcl\win\dtrans\MtaOleClipb.cxx @ 657] 2. Thread CMtaOleClipboard::clipboardChangedNotifierThreadProc() is handling the respective event, calling CWinClipboard::handleClipboardContentChanged, which notifies listeners, including SwClipboardChangeListener, which, in its changedContents, has locked solar mutex, and requests the clipboard content, which eventually calls CMtaOleClipboard::getClipboard posting a message to the CMtaOleClipboard::run() thread, and waiting the result: vclplug_winlo!`anonymous-namespace'::Win32Condition::wait+0x3b [vcl\win\dtrans\MtaOleClipb.cxx @ 92] vclplug_winlo!CMtaOleClipboard::getClipboard+0x220 [vcl\win\dtrans\MtaOleClipb.cxx @ 355] vclplug_winlo!CWinClipboard::getIDataObject+0x84 [vcl\win\dtrans\WinClipboard.cxx @ 161] vclplug_winlo!CDOTransferable::tryToGetIDataObjectIfAbsent+0x56 [vcl\win\dtrans\DOTransferable.cxx @ 413] vclplug_winlo!CDOTransferable::getClipboardData+0x79 [vcl\win\dtrans\DOTransferable.cxx @ 425] vclplug_winlo!CDOTransferable::getTransferData+0x163 [vcl\win\dtrans\DOTransferable.cxx @ 252] sotlo!GetTransferableAction_Impl+0x13d [sot\source\base\formats.cxx @ 1352] sotlo!SotExchange::GetExchangeAction+0xde [sot\source\base\formats.cxx @ 1429] swlo!SwTransferable::IsPaste+0xba [sw\source\uibase\dochdl\swdtflvr.cxx @ 1402] swlo!SwClipboardChangeListener::changedContents+0xac [sw\source\uibase\uiview\uivwimp.cxx @ 315] vclplug_winlo!comphelper::OInterfaceContainerHelper4<com::sun::star::datatransfer::clipboard::XClipboardListener>::NotifySingleListener<com::sun::star::datatransfer::clipboard::ClipboardEvent>::operator()+0xc [include\comphelper\interfacecontainer4.hxx @ 274] vclplug_winlo!comphelper::OInterfaceContainerHelper4<com::sun::star::datatransfer::clipboard::XClipboardListener>::forEach<comphelper::OInterfaceContainerHelper4<com::sun::star::datatransfer::clipboard::XClipboardListener>::NotifySingleListener<com::sun::star::datatransfer::clipboard::ClipboardEvent> >+0xb6 [include\comphelper\interfacecontainer4.hxx @ 304] vclplug_winlo!comphelper::OInterfaceContainerHelper4<com::sun::star::datatransfer::clipboard::XClipboardListener>::notifyEach+0x28 [include\comphelper\interfacecontainer4.hxx @ 325] vclplug_winlo!CWinClipboard::handleClipboardContentChanged+0x156 [vcl\win\dtrans\WinClipboard.cxx @ 303] vclplug_winlo!CWinClipboard::onClipboardContentChanged+0x5c [vcl\win\dtrans\WinClipboard.cxx @ 387] vclplug_winlo!CMtaOleClipboard::clipboardChangedNotifierThreadProc+0x172 [vcl\win\dtrans\MtaOleClipb.cxx @ 699] This change tries to untie this, by creating a dedicated thread to call CWinClipboard::onReleaseDataObject and delete CXNotifyingDataObject outside of its Release (and of the CMtaOleClipboard::run() thread), so that locking happening in that process doesn't deadlock functional threads. Change-Id: I93da6fe79225319a84b332c81716793f4d9fb05d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177363 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-26Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to ade9473eb6bb45b83d49c2e77f9448ac638e4425 - Untranslatable string made translatable Change-Id: I5cd51e885dce97d43559ddc95754f750ef842e9d Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177368 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-26Update git submodulesBogdan Buzea
* Update helpcontent2 from branch 'master' to 6977846f119905354c5b449612e1e0b64fdf0722 - tdf#131332: Replace custom date formats with ISO 8601 Change-Id: I258013e509a72caf640032fe6dc258a734127fd1 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177292 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-26NotoSans: upgrade to v2.015Xisco Fauli
Downloaded from https://github.com/notofonts/latin-greek-cyrillic/releases/download/NotoSans-v2.015/NotoSans-v2.015.zip Change-Id: I924800998d31235eb7d2fcea83adfc64ff748ea2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177361 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-26tdf#147819 doc export: only ShapeFlag::Background if XATTR_FILLJustin Luth
The mere presence of an object somewhere in the document was causing the document background to force a white color. This code was developed in the heady days of figuring out what bits meant what, so the documentation and code-reading is NOT clear. make CppunitTest_sw_ww8export \ CPPUNIT_TEST_NAME=testTdf41542_imagePadding (My ODT file had obviously spent some of its lifetime as a DOC because it had a white page background. I unzipped the file, and hand-adjusted styles.xml to set fo:background-color="transparent" and draw:fill="none") Change-Id: I41484ab7f71f4a3156e3193e49127b14e58949cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177347 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2024-11-26Update git submodulesSahil Gautam
* Update helpcontent2 from branch 'master' to 815ce1be85e4bd8e77ccbed66ec5d482863f4caa - tdf#85976 update help page for 'Handle Duplicate Records' dialog + use row/column instead of record to make it easier to understand + use field instead of record to describe the treeview entries in the 'Compare by' section as that's a more technically correct term. https://bugs.documentfoundation.org/show_bug.cgi?id=85976#c84 Change-Id: I05f2280a94507528a595436d2a8a52c6ed574d9e Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177261 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-26NotoSerif: upgrade to v2.015Xisco Fauli
Downloaded from https://github.com/notofonts/latin-greek-cyrillic/releases/download/NotoSerif-v2.015/NotoSerif-v2.015.zip Change-Id: I2cf07988ddb411db69457998e8171b19c46ea356 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177362 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-26Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to c7c79a8fc5bd529a081c2bc0360183d6cd819356 - Typo in Help page Change-Id: I5c149638fb6501e64f8255c843872e3570169036 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177281 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-11-26Fix typoAndrea Gelmini
Change-Id: Ifdd5f7cce7006b824397525f3a698df3f30ee17e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177327 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-11-26Fix typoAndrea Gelmini
Change-Id: Ia1395f64bdc649f8e0f450b9173d302efa058c9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177326 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-11-26Remove exec bits on odt fileAndrea Gelmini
Change-Id: Ic528aa0d92d3d5e9ac971be8b5343a0b2b4da5c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177328 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-11-26Fix typoAndrea Gelmini
Change-Id: I2a3df5cad1bd4daa18292cc106d5e8fedefca364 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177325 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-11-26tdf#163992 Improve tooltip for opened documentsBogdan Buzea
Change-Id: I9d3cd55b05a684a8b21d5ee5a478202a3d0788c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177321 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-11-26Resolves tdf#126857 - Center object on page/slideHeiko Tietze
* uno:AlignMiddle labeled "Middle" * uno:AlignOnPage added Change-Id: Iafc162bdd80d7c20fabd55234e93212c1fa3435a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177348 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-11-26show extension link on startcenter for macosxsandbox caseChristian Lohmaier
the ShowDonation has already a default value of true via the schema, so it is enough to override it to false for the macosxsandbox case similar to how it is done with the Infobar / using the install:module method Change-Id: I8f1ea6d3530e66806f66f9f2d2fb16ef0276e460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177333 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-11-26svtools a11y: Merge BrowseBoxImpl into BrowseBoxMichael Weghorn
Change-Id: I3667e47867eb85f18cf8ad620cff903cc13f38c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177352 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-26svtools: Move THeaderCellMapFunctorDispose struct out of impl classMichael Weghorn
Move to anonymous namespace in the only .cxx where it's used. Change-Id: Ifa1219c49e5673d3440a889b2fd814059a29b5bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177351 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-26svtools: Merge BrowseBox::ConstructImpl into ctorMichael Weghorn
Change-Id: I9bd8a018dbe2c3416af9b50a6ca782ac5fb3a4ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177350 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-26tdf#162815 Greyscale images not corrrectly exported to PDFNoel Grandin
regression from commit 21734247d58a6e915b058d8fa55ece949d049613 "drop internal support for 1-bit images" This only works on Linux because the HasGreyPaletteAny() check is returning false on Linux, because on linux the swap in/out is more aggressive, and after it is has gone through the swap in/out process, the image palette is no longer one that matches anything that HasGreyPaletteAny() checks for (it contains 256 entries, but only 2 of them are used) I'm not exactly sure why the greyscale bitmap generation code is generating bad PDF data, but the RGB code works great, so lets just use that rather. Change-Id: Ibb9e837540d5ed567c706e21e7ff93fe92118580 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177329 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-26Operator should be logical AND instead of ORAron Budea
Change-Id: Ife1870da9979e974fa9dc11ca7dff87c8cfe66bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177310 Tested-by: Jenkins Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-11-26sfx2 lok: fix crash in SfxLokHelper::notifyUpdate()Miklos Vajna
Crashreport signature: > kit-09946-09946 2024-11-25 16:46:13.180120 +0000 [ kitbroker_498 ] SIG Fatal signal received: SIGSEGV code: 1 for address: 0x0 > program/libmergedlo.so > SfxLokHelper::notifyUpdate(SfxViewShell const*, int) > sfx2/source/view/lokhelper.cxx:1072 > program/libswlo.so > SwViewShell::GetSfxViewShell() const > sw/inc/viewsh.hxx:472 > program/libswlo.so > SwCursorShell::UpdateCursor(unsigned short, bool) > sw/source/core/crsr/crsrsh.cxx:2382 ... > program/libmergedlo.so > framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) > framework/source/services/desktop.cxx:592 I.e. it can happen that during load we don't yet have a view, handle this in SfxLokHelper::notifyUpdate() till it takes a pointer and not a reference. Change-Id: Ifa5d9300029076e91ba8722152a7d91a1f2ecbc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177343 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-11-26libcdr: upgrade to 0.1.8Xisco Fauli
Generated with: ./autogen.sh ./configure make dist-xz Change-Id: I46b921f3c2ef41ab52e272df5afd82a1d9331f42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177332 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-26libqxp: fix copy&paste pathXisco Fauli
Since commit 05aedcba6672979d317b540bbfa74f5c9b409402 Author: Stephan Bergmann <sbergman@redhat.com> Date: Thu Jan 21 23:19:20 2021 +0100 Fix use of -fvisibility=hidden with Clang in external/libcdr, external/libqxp Change-Id: Idb97eaea30f5a2b15379b18981455532de0308b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177330 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-26libetonyek: upgrade to 0.1.12Xisco Fauli
Generated with: ./autogen.sh ./configure make dist-xz Change-Id: I74ac661c5f8db9abf7644212d98b29c3ec5b422f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176036 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-26Resolves tdf#163685 - Save user-defined formulaHeiko Tietze
Change-Id: I88a1c40d3e97d77c289c8b670b52dca50dea126f Co-authored-by: Rafael Lima <rafael.palma.lima@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176788 Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Tested-by: Jenkins
2024-11-26a11y: Handle combobox subedit a11y name in VCLXAccessibleEditMichael Weghorn
Let VCLXAccessibleEdit::getAccessibleName take care of returning the same accessible name as the combobox parent for the combobox subedit instead of trying to set the same name when that combobox child is requested the first time. This makes sure the name remains in sync, and prevents trying to get the combobox a11y name while a dialog containing it might still be in the process of getting constructed by VclBuilder, in which case e.g. the AccessibleRelation::LABELLED_BY relation that gets used in Window::getDefaultAccessibleName may not have been set. That relation e.g. gets set if a label has the combobox set as its "mnemonic-widget" in a .ui file. The previous logic was triggering an assert when opening the "Fonts" page in the "Tools" -> "Options" dialog or using the search feature in that dialog on Windows with an AT (like NVDA) active when trying to set the a11y name of the "font2" combobox's entry (UI file: cui/uiconfig/ui/optfontspage.ui): Assertion failed: GetChildCount() == 4 || pWindowImpl->mbInDispose, file .../vcl/source/window/layout.cxx, line 1945 Backtrace: 1 abort ucrtbase 0x7ffad46e286e 2 get_wpgmptr ucrtbase 0x7ffad46e426e 3 get_wpgmptr ucrtbase 0x7ffad46e4165 4 wassert ucrtbase 0x7ffad46e44f1 5 VclScrolledWindow::get_child layout.cxx 1945 0x7ffa88f67e35 6 nextLogicalChildOfParent dialog.cxx 139 0x7ffa88f147cf 7 nextLogicalChildOfParent dialog.cxx 157 0x7ffa88f14884 8 nextLogicalChildOfParent dialog.cxx 157 0x7ffa88f14884 9 ImplGetSubChildWindow dlgctrl.cxx 137 0x7ffa88f197e1 10 ImplGetChildWindow dlgctrl.cxx 151 0x7ffa88f18dae 11 ImplGetNextWindow dlgctrl.cxx 180 0x7ffa88f19600 12 ImplFindDlgCtrlWindow dlgctrl.cxx 362 0x7ffa88f18a2b 13 vcl::ImplGetLabeledBy legacyaccessibility.cxx 122 0x7ffa88e65437 14 vcl::Window::getLegacyNonLayoutAccessibleRelationLabeledBy legacyaccessibility.cxx 178 0x7ffa88e657ac 15 vcl::Window::GetAccessibleRelationLabeledBy accessibility.cxx 604 0x7ffa88e6193a 16 vcl::Window::getDefaultAccessibleName accessibility.cxx 470 0x7ffa88e63c73 17 vcl::Window::GetAccessibleName accessibility.cxx 441 0x7ffa88e614ba 18 vcl::Window::SetAccessibleName accessibility.cxx 427 0x7ffa88e623bc 19 VCLXAccessibleBox::getAccessibleChild vclxaccessiblebox.cxx 319 0x7ffa853e3e02 20 AccObjectWinManager::InsertChildrenAccObj AccObjectWinManager.cxx 536 0x7ffa855b2ed1 21 AccEventListener::HandleChildChangedEvent AccEventListener.cxx 109 0x7ffa855b9593 22 AccEventListener::notifyEvent AccEventListener.cxx 64 0x7ffa855ba6ef 23 AccContainerEventListener::notifyEvent AccContainerEventListener.cxx 95 0x7ffa855bdfbc 24 comphelper::AccessibleEventNotifier::addEvent accessibleeventnotifier.cxx 256 0x7ffa916598c0 25 comphelper::OCommonAccessibleComponent::NotifyAccessibleEvent accessiblecomponenthelper.cxx 127 0x7ffa9165071e 26 VCLXAccessibleComponent::ProcessWindowChildEvent vclxaccessiblecomponent.cxx 165 0x7ffa8b7e6029 27 VCLXAccessibleComponent::WindowChildEventListener vclxaccessiblecomponent.cxx 124 0x7ffa8b7e6d62 28 VCLXAccessibleComponent::LinkStubWindowChildEventListener vclxaccessiblecomponent.cxx 114 0x7ffa8b7e5ee6 29 Link<VclWindowEvent &,void>::Call link.hxx 111 0x7ffa88f3bf43 30 vcl::Window::CallEventListeners event.cxx 300 0x7ffa88f3c57c 31 vcl::Window::ImplSetReallyVisible window.cxx 1331 0x7ffa8904394d 32 vcl::Window::ImplSetReallyVisible window.cxx 1344 0x7ffa89043a1d 33 vcl::Window::Show window.cxx 2336 0x7ffa89047671 34 vcl::Window::Show window.cxx 2349 0x7ffa8904776e 35 vcl::Window::set_property window2.cxx 1537 0x7ffa8902d4b3 36 ComboBox::set_property combobox.cxx 1553 0x7ffa89097521 37 BuilderUtils::set_properties builder.cxx 2192 0x7ffa88ef13c5 38 VclBuilder::insertObject builder.cxx 2469 0x7ffa88ee18df 39 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleObject widgetbuilder.hxx 230 0x7ffa88e23d54 40 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleChild widgetbuilder.hxx 127 0x7ffa88e22c30 41 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleObject widgetbuilder.hxx 234 0x7ffa88e23dff 42 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleChild widgetbuilder.hxx 127 0x7ffa88e22c30 43 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleObject widgetbuilder.hxx 234 0x7ffa88e23dff 44 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleChild widgetbuilder.hxx 127 0x7ffa88e22c30 45 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleObject widgetbuilder.hxx 234 0x7ffa88e23dff 46 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleChild widgetbuilder.hxx 127 0x7ffa88e22c30 47 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleObject widgetbuilder.hxx 234 0x7ffa88e23dff 48 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::handleChild widgetbuilder.hxx 127 0x7ffa88e22c30 49 WidgetBuilder<vcl::Window,VclPtr<vcl::Window>,PopupMenu,VclPtr<PopupMenu>>::processUIFile widgetbuilder.hxx 70 0x7ffa88e24b4a 50 VclBuilder::VclBuilder builder.cxx 523 0x7ffa88ea53be 51 SalInstanceBuilder::SalInstanceBuilder salvtables.cxx 7088 0x7ffa895da3ff 52 std::make_unique<SalInstanceBuilder,vcl::Window * &,rtl::OUString const &,rtl::OUString const &,0> memory 3434 0x7ffa895d44c8 53 SalInstance::CreateBuilder salvtables.cxx 7470 0x7ffa895ef18e 54 Application::CreateBuilder builder.cxx 198 0x7ffa88ebed2a 55 BuilderPage::BuilderPage weldutils.cxx 28 0x7ffa89684128 56 SfxTabPage::SfxTabPage tabdlg.cxx 137 0x7ffa8cd5f0e5 57 SvxFontSubstTabPage::SvxFontSubstTabPage fontsubs.cxx 36 0x7ffa8372d1cd 58 std::make_unique<SvxFontSubstTabPage,weld::Container * &,weld::DialogController * &,SfxItemSet const &,0> memory 3434 0x7ffa8372cdbf 59 SvxFontSubstTabPage::Create fontsubs.cxx 146 0x7ffa8372f692 60 CreateGeneralTabPage treeopt.cxx 289 0x7ffa8383199a 61 OfaTreeOptionsDialog::SelectHdl_Impl treeopt.cxx 1317 0x7ffa838372e7 62 OfaTreeOptionsDialog::ShowPageHdl_Impl treeopt.cxx 623 0x7ffa83837f11 63 OfaTreeOptionsDialog::LinkStubShowPageHdl_Impl treeopt.cxx 620 0x7ffa83834366 64 Link<weld::TreeView &,void>::Call link.hxx 111 0x7ffa88ebdf13 65 weld::TreeView::signal_changed weld.hxx 969 0x7ffa88ef210f 66 SalInstanceTreeView::SelectHdl salvtables.cxx 5304 0x7ffa895f4b39 67 SalInstanceTreeView::LinkStubSelectHdl salvtables.cxx 5299 0x7ffa895f38c6 68 Link<SvTreeListBox *,void>::Call link.hxx 111 0x7ffa88ebe413 69 SvTreeListBox::SelectHdl treelistbox.cxx 454 0x7ffa892ba7a1 70 SvTreeListBox::Select treelistbox.cxx 2128 0x7ffa892ba514 71 SvImpLBox::SetCursor svimpbox.cxx 617 0x7ffa892d05e8 72 ImpLBSelEng::SetCursorAtPoint svimpbox.cxx 2596 0x7ffa892d08a9 73 SelectionEngine::SelMouseButtonDown seleng.cxx 174 0x7ffa88fd0071 74 SvImpLBox::MouseButtonDown svimpbox.cxx 2016 0x7ffa892cc580 75 SvTreeListBox::MouseButtonDown treelistbox.cxx 2277 0x7ffa892b71e2 76 ImplHandleMouseEvent winproc.cxx 708 0x7ffa89059867 77 ImplHandleSalMouseButtonDown winproc.cxx 2338 0x7ffa8905afef 78 ImplWindowFrameProc winproc.cxx 2683 0x7ffa8905ca47 79 SalFrame::CallCallback salframe.hxx 312 0x7ffa88e1ee56 80 ImplHandleMouseMsg salframe.cxx 3335 0x7ffa85c270bf 81 SalFrameWndProc salframe.cxx 5987 0x7ffa85c2de7d 82 SalFrameWndProcW salframe.cxx 6342 0x7ffa85c2ec60 83 CallWindowProcW USER32 0x7ffad61cef5c 84 DispatchMessageW USER32 0x7ffad61ce684 85 ImplSalDispatchMessage salinst.cxx 475 0x7ffa85b8cf98 86 ImplSalYield salinst.cxx 552 0x7ffa85b8d6bd 87 WinSalInstance::DoYield salinst.cxx 581 0x7ffa85b8cc61 88 ImplYield svapp.cxx 385 0x7ffa89656364 89 Application::Yield svapp.cxx 474 0x7ffa89659fe2 90 Dialog::Execute dialog.cxx 1077 0x7ffa88f0c017 91 SalInstanceDialog::run salvtables.cxx 1882 0x7ffa896149af 92 weld::DialogController::run weld.hxx 2691 0x7ffa88eef436 93 OfaTreeOptionsDialog::run treeopt.cxx 2514 0x7ffa83841dd2 94 CuiAbstractController_Impl::Execute dlgfact.cxx 144 0x7ffa837085c8 95 SfxApplication::OfaExec_Impl appserv.cxx 1641 0x7ffa8cb36506 96 SfxStubSfxApplicationOfaExec_Impl sfxslots.hxx 1307 0x7ffa8cb10165 97 SfxDispatcher::Call_Impl dispatch.cxx 257 0x7ffa8cc1f4ae 98 SfxDispatcher::Execute_ dispatch.cxx 754 0x7ffa8cc2260f 99 SfxBindings::Execute_Impl bindings.cxx 1062 0x7ffa8cc0086d 100 SfxDispatchController_Impl::dispatch unoctitm.cxx 736 0x7ffa8cc93caa 101 SfxOfficeDispatch::dispatch unoctitm.cxx 254 0x7ffa8cc945b0 102 framework::MenuBarManager::Select menubarmanager.cxx 821 0x7ffa8d8574d4 103 framework::MenuBarManager::LinkStubSelect menubarmanager.cxx 776 0x7ffa8d855796 104 Link<Menu *,bool>::Call link.hxx 111 0x7ffa88f77d88 105 Menu::Select menu.cxx 360 0x7ffa88f83e19 106 Menu::ImplCallSelect menu.cxx 2152 0x7ffa88f7c761 107 Menu::LinkStubImplCallSelect menu.cxx 2148 0x7ffa88f82366 108 Link<void *,void>::Call link.hxx 111 0x7ffa890529b3 109 ImplHandleUserEvent winproc.cxx 2288 0x7ffa8905ba97 110 ImplWindowFrameProc winproc.cxx 2850 0x7ffa8905d256 111 SalFrame::CallCallback salframe.hxx 312 0x7ffa88e1ee56 112 ImplHandleUserEvent salframe.cxx 4471 0x7ffa85c28fab 113 SalFrameWndProc salframe.cxx 6236 0x7ffa85c2e654 114 SalFrameWndProcW salframe.cxx 6342 0x7ffa85c2ec60 115 CallWindowProcW USER32 0x7ffad61cef5c 116 DispatchMessageW USER32 0x7ffad61ce684 117 ImplSalDispatchMessage salinst.cxx 475 0x7ffa85b8cf98 118 ImplSalYield salinst.cxx 506 0x7ffa85b8d09b 119 WinSalInstance::DoYield salinst.cxx 581 0x7ffa85b8cc61 120 ImplYield svapp.cxx 385 0x7ffa89656364 121 Application::Yield svapp.cxx 474 0x7ffa89659fe2 122 Application::Execute svapp.cxx 361 0x7ffa89653aa6 123 desktop::Desktop::Main app.cxx 1679 0x7ffa9336887f 124 ImplSVMain svmain.cxx 228 0x7ffa8966b310 125 SVMain svmain.cxx 247 0x7ffa8966baf2 126 soffice_main sofficemain.cxx 121 0x7ffa933b86f4 127 sal_main main.c 51 0x7ff64a491013 128 main main.c 49 0x7ff64a49105a 129 __scrt_common_main_seh exe_common.inl 288 0x7ff64a491344 130 BaseThreadInitThunk KERNEL32 0x7ffad5c07374 131 RtlUserThreadStart ntdll 0x7ffad679cc91 Change-Id: I3be8a8e4acd1c87fdfa495c755fd947e9a11b9aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177314 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-26a11y: Drop misleading commentMichael Weghorn
The "The role is always AccessibleRole::COMBO_BOX." comment for VCLXAccessibleBox::getAccessibleRole is misleading, as the actual implementation can also return AccessibleRole::PANEL. Change-Id: I15b089e168aa7ec0701eacc8630023123f3a10dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177313 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-26a11y: Create VCLXAccessibleEdit::isComboBoxChild helperMichael Weghorn
It will be reused in another method in an upcoming commit. Change-Id: Ie6b4559e268d9340b5b13844c906232c6ff38a6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177312 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-26a11y: Drop VCLXAccessibleComponent::supportsService overridesMichael Weghorn
Like the base class implementation, they call cppu::supportsService, so there's no need to override the former. Change-Id: I6550edce0567502a411cac402923c2c02e02f58d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177311 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-26external/postgresql: Include configure fix for C23 stdbool.hStephan Bergmann
...by backporting upstream <https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=bc5a4dfcf7390145dc3ba3c1c18c5ce561b778cd> "Assume that <stdbool.h> conforms to the C standard." to our REL_14_15 version. GCC 15 trunk defaults to C23 now, so started to fail with > In file included from fls.c:49: > ../../src/include/c.h:419:23: error: two or more data types in declaration specifiers > 419 | typedef unsigned char bool; > | ^~~~ > ../../src/include/c.h:419:1: warning: useless type name in empty declaration > 419 | typedef unsigned char bool; > | ^~~~~~~ > make: *** [<builtin>: fls.o] Error 1 > make: Leaving directory 'workdir/UnpackedTarball/postgresql/src/port' (Removing HAVE__BOOL and HAVE_STDBOOL_H also from src/tools/msvc/Solution.pm is necessary to avoid failures like > "C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/openssl\apps\openssl.exe" version 2>&1unused defines: HAVE_STDBOOL_H HAVE__BOOL at /home/tdf/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/postgresql/src/tools/msvc/Mkvcbuild.pm line 870. > make[1]: *** [C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/external/postgresql/ExternalProject_postgresql.mk:27: C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/workdir/ExternalProject/postgresql/build] Error 1 in MSVC builds.) Change-Id: I1f6bd0d613ae4d6ce70feaaf67aaf95496eeff87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177280 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-11-26sc: prefix members of ScConditionalFormatXisco Fauli
Change-Id: Ib8d6b19f4ff1a5a641039f7e06083430b53a6edb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177301 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-26Libreoffice Theme Part 5: OSX Color CustomizationSahil Gautam
We don't draw popup menus and menubar rather use the native ones. I don't know any Objective-C which made it really difficult for me to parse the widget toolkit code. I can learn it if required, but it would be better if some macos developer takes this patch further; Themeing related objects like colors, persona settings (TODO) will be available via the ThemeColors class. Change-Id: Idd89328ca82fbfa58b1e686b5b105469bea4b4a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171239 Tested-by: Jenkins Reviewed-by: Sahil Gautam <sahil.gautam.extern@allotropia.de> Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-11-26Libreoffice Theme Part 4: Windows Color CustomizationSahil Gautam
I couldn't find any way of putting the colors from the theme back into the system using the win32 api. Taking inspiration from Caolan's dark mode patch (commit: a3f400886768bf95fbd8e6b236e11d7aac393b96, related: tdf#118320 enable some windows dark theme support, 2022-03-17), I was able to make it work. I am working on vcl welding for windows, for which I am learning win32. In the coming weeks/months the themeing approach for windows is expected evolve because of that. There are some "rough edges" still... something to be addressed later in different tickets. Change-Id: I4b4cb3804b9b7a9d15e75a1b2511cdedda2b5b12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170840 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Sahil Gautam <sahil.gautam.extern@allotropia.de>
2024-11-26tdf#86731 bNoDictionaryAvailable should trigger meesageboxSzymon Kłos
Reverts "PVS: V547 Expression 'bNoDictionaryAvailable' is always false" This reverts commit 816b51c7a9cdd72eaa01f3c074ba5a8446917d19. It removed the message completely from the code while, we should fix it rather by using correct condition. It was somehow too aggresively limited in commit f200dd5cb84681558700c49de0969907f78f8db1 tdf#86731 Don't show 'start from beginning' when dictionary is missing Change-Id: I5f4b859047216399a09c7aefb8a47244c4833df5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177271 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-11-26tdf#163842 Fix autofilter ascending sort condition reference importGülşah Köse
if (rSorConditionLoaded.mbDescending) condition ignores the ascending sort. So when we import a document that uses ascending sort then export it, we don't know which column is sorted. With the following patch we fix this case. Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: I561146517959a87eb0fb6cec419d68299bcb7eee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177016 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177222 Tested-by: Jenkins
2024-11-26Let a test use a copy of a SRCDIR test docStephan Bergmann
Whatever the reason, but running the test against a read-only SRCDIR caused CppunitTest_sfx2_view CPPUNIT_TEST_NAME=testLokHelperCommandValuesSignature::TestBody to fail with > sfx2/qa/cppunit/view.cxx:138:testLokHelperCommandValuesSignature::TestBody > assertion failed > - Expression: nSignatureTime != 0 Change-Id: I35d7df0de1b63937920687444ea0698fc0856446 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177302 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-11-26tdf#146269: don't set modified when connecting frame, model and controllerMike Kaganski
Change-Id: I487a989a97389af11c98e10ac001c860d7855aec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177300 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-26Some simplificationMike Kaganski
Change-Id: I8dc994421ef036f609e270c4891ac4494276ba23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177299 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-26comphelper: fix test - key should be 32 bytes, not 16 bytesTomaž Vajngerl
Issue spotted when trying encryption and decryption with OpenSSL, which doesn't handle the shorter keys correctly. Also can't use the same instance of Encrypt after an attempt that failed (0 bytes written) as the blocks are inter-dependent and it looks like OpenSSL already changes the state. Change-Id: I061764e6727c7fbe600e11c5a5a6b8889d15c4e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177305 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-11-26comphelper: add support for AES256_ECB encryptionTomaž Vajngerl
Change-Id: I5e8ab2a2be6ea9cd5d1ed93b70780f1f6153f3fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176892 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>