summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-17related tdf#141457 sc notebookbar: make statistics a submenuJustin Luth
With so many different statistics commands, the super-popular insert menu was dreadfully long. And since it is a now single entry, might as well add it to all MenuDatas to keep them all pretty much identical. Change-Id: I89247a1806f884e92a52b66015c766180d89149e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158065 Tested-by: Justin Luth <jluth@mail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-10-17tdf#130088 tdf#119908 smart justify: fix DOCX line count + compat opt.László Németh
Writer typeset DOCX files with more lines/pages, because of new default paragraph justification algorithm of MSO 2013 and newer, which resulted in losing text layout interoperability for new DOCX documents. Add new compatibility option "JustifyLinesWithShrinking" to store also the new type of justification in OpenDocument files. First analysis of the unknown justification algorithm shows up to 2% shrinking of plain justified line. Apply this value to break the lines in the same (or very similar) positions during importing a DOCX file with compatibilityMode >= 15 (created in MSO 2013 or newer), to avoid typesetting more lines and pages. Note: shrinking will be added by the next commits, fixing the temporary exceeding lines. Change-Id: I9a00db888e9af3f6723e4c502158e8e56a00ef02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158063 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2023-10-17check earlier on loading ole objects if parent doc is untrusted refererCaolán McNamara
Change-Id: Ib1169d5c40ca87f789c71b48124754e073895fcd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158054 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-17n#775899 sw: add testcase for the FloattableNomargins compat flagMiklos Vajna
This was added in commit 50a1df360c907d8419ce49f098b6bc87a37a9956 (n#775899 sw: add FloattableNomargins compat flag, 2012-08-23), without a testcase, so it was hard to make later changes without breaking the old behavior. Later commit 0898871b7b9492ada947ebc7b8429c5cb56db23c (n#775899 testcase, 2012-08-27) did add a testcase for the bug, it was a different sub-task there, so the test document had no margins, while this compat flag is about some special handling around non-zero paragraph margins and floating tables. So add a new test that fails without the DocumentSettingId::FLOATTABLE_NOMARGINS block in SwBorderAttrs::CalcLeft() to make sure that this keeps working after I fix tdf#157573, which is a related problem. Change-Id: I09661be726e3db6be51d0cbb44cb5c504510e5ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158069 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-17tdf#157788 Saving the "Show navigation panel" setting for a deviceIrgaliev Amin
Currently, the value of the "Show navigation panel" parameter for presentations is not saved. The section in which this setting is now located, apparently, is saved in files. It might make sense to move this setting to Tools -> Options -> LibreOffice Impress -> General, because it relates to the device rather than the slideshow. Change-Id: I2286a4a6d432b11fce2b9c3e65fa6b82e004275f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158057 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-17tdf#157786: sc_datetime_functions: Add unittestXisco Fauli
Change-Id: I94f2d40ced8e59aea5875831289368722a58c42a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158056 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-10-17svx: prefix members of SdrHdlListMiklos Vajna
See tdf#94879 for motivation. Change-Id: I9e529ef12c05e333e2eeb535d2ae72e5d4c84a72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158062 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-10-17gtk3 a11y test: Let xvfb-run auto-determine free server numMichael Weghorn
As the xvfb-run manpage says, it uses a default server number of 99: > -n servernumber, --server-num=servernumber > Use servernumber as the server number (but see the -a, --auto-servernum option above). The default is 99. The gtk3 a11y tests use xvfb-run. Running the test multiple times in parallel (e.g. when doing two separate builds with tests, as happens on CI) would fall like this on Debian testing: $ make CppunitTest_vcl_gtk3_a11y make -j 12 -rs -f /home/michi/development/git/libreoffice/Makefile.gbuild CppunitTest_vcl_gtk3_a11y [CUT] vcl_gtk3_a11y xvfb-run: error: Xvfb failed to start Hint: You are currently not seeing messages from other users and the system. Users in groups 'adm', 'systemd-journal' can see all messages. Pass -q to turn off this notice. No coredumps found. Error: a unit test failed, please do one of: make CppunitTest_vcl_gtk3_a11y CPPUNITTRACE="gdb --args" # for interactive debugging on Linux make CppunitTest_vcl_gtk3_a11y VALGRIND=memcheck # for memory checking make CppunitTest_vcl_gtk3_a11y DEBUGCPPUNIT=TRUE # for exception catching You can limit the execution to just one particular test by: make CPPUNIT_TEST_NAME="testXYZ" ...above mentioned params... However, it behaves differently on Alma Linux 8, where it looks like xvfb-run seems then to reuse the existing Xfvb session, causing the tests to potentially find the LibreOffice instance from another test run, and then inspecting the wrong one, leading to failures like the one in [1]: equality assertion failed - Expected: ecclectic.fodt — LibreOfficeDev Writer - Actual : ecclectic.fodt — LibreOfficeDev Writer 24.2 [9bc2aede99017ed0338e97b21b4735919b705b47] The fact that the second instance of xvfb-run reuses the session of the firs one and finds the LibreOffice there can also be reproduced on Alma Linux 8 by just running these 2 commands in parallel: 1) start LO in xfvb-run session: $ xvfb-run dbus-launch libreoffice 2) run below Python script that lists the running applications: $ xvfb-run dbus-launch python3 /home/vagrant/atspi-list-apps.py --------start-------- [application | soffice] --------end-------- /usr/bin/xvfb-run: line 186: kill: (27078) - No such process This *should not* list the applications from the other xfvb-run. It works as expected when passing `--auto-servernum`: $ xvfb-run --auto-servernum dbus-launch python3 /home/vagrant/atspi-list-apps.py --------start-------- --------end-------- Therefore, pass the `--auto-servernum` arg to xvfb-run, so that it automatically determines a free server number instead. > -a, --auto-servernum > Try to get a free server number, starting at 99, or the argument to --server-num. Python script mentioned above used for testing: $ cat atspi-list-apps.py #!/usr/bin/python3 import pyatspi registry = pyatspi.registry.Registry() apps = list(registry.getDesktop(0)) print('--------start--------') for app in apps: print(f'{app}') print('--------end--------') [1] https://ci.libreoffice.org/job/gerrit_linux_gcc_release/151750/consoleFull#-1985341263d893063f-7f3d-4b7e-b56f-4e0f225817cd Change-Id: I0673212fb8fed5c9698c9f797b7bf49ba51033b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158021 Tested-by: Jenkins Reviewed-by: Colomban Wendling <cwendling@hypra.fr> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-10-17tdf#148725: Reset must clear respective items from m_pOutSetMike Kaganski
After Reset, the tabbed dialog's output set should restore to the same state (concerning the current tab page) as immediately after creation. This state means that pressing OK immediately afer Reset would not try to set or remove any items in the target. SfxTabDialogController::Ok has this code: if (m_pOutSet && m_pOutSet->Count() > 0) bModified = true; meaning that m_pOutSet is expected to be empty in case of completely unmodified dialog; and Reset must make sure this for a given page. Instead, commit 28fc0962b10519ab84654d189d2ad0cca8f84f95 (weld SwLabDlg, 2018-04-27) made Reset handler to populate the output item set with all the items from the input set, that belong to the page's which ranges. This made all the settings set in parents (which therefore appeared in the input set) to be set directly in the target upon application. Change-Id: Iacfffb5670cc3ade950ac412b818acb482845255 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158067 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-17Related: tdf#148725 Fix SvxExtParagraphTabPage::ChangesAppliedMike Kaganski
It was setting values, instead of saving them, ever since commit a212ef2b6ebadb22a9abf6d042aa2b5fd9ac1cf0 (tdf#93901: apply handling in style/edit dialog improved, 2015-09-11). The same thing in SvxStdParagraphTabPage::ChangesApplied was fixed in commit 8b0dae14a5af0ad2892bac0e606467af6148c8d1 (weld SvxStdParagraphTabPage, 2018-06-14); but a similar commit eb1d6b16e787a87c3d918135ca98c5694d352557 (weld SvxExtParagraphTabPage, 2018-06-14) kept this in SvxExtParagraphTabPage. Change-Id: I5fb61a9416dab4ccf9fa690eca87a16f7b9378bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158066 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-17tdf#144349 related: Make master document navigator track Text contentJim Raykowski
Done, with a related patch to make the master document navigator track TOX content, to make the Navigator less likely not to have an item selected, which may be enough to resolve tdf#155741 - Allow insertion of items into master without a selected item Change-Id: I1a9d2a12a01ca2c5f3f162e8da932c04ced9a461 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157741 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-10-17tdf#144349 related: Make master document navigator track TOX contentJim Raykowski
Done, with a related patch to make the master document navigator track 'Text' content, to make the Navigator less likely not to have an item selected, which may be enough to resolve tdf#155741 - Allow insertion of items into master without a selected item Change-Id: I6df1b668c502cadbe057229e031ede9aa4f4089a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157695 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-10-16Resolves: tdf#157797 Let GetCellValue() propagate previous error, if anyEike Rathke
Change-Id: I27ee8d19e4f45bef81e133c82ac17b825790208f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158064 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-10-16tdf#157482 UI: Turn Security Warnings popup windows into infobarsBalazs Varga
In case of all the 4 security warnings we will have a new infobar warning dialog message with an infobar button which can open the security windows option settings and we can set which security issues should warn us, and also which security infos we want to remove. (etc after saving) TODO: If the directly the file dialog window pop up the Infobar message will only update after closing the file dialog window. That should be fixed later. Change-Id: Idf0f728fd40089d3691f8f044d3718a4e0d99cad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157797 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-10-16Simplify a bitMike Kaganski
Non-negative nCommentPos implies non-empty selection. Change-Id: Id3e5701fbddca3159d81513d8c7d54816e45e4c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158060 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16Simplify a bitMike Kaganski
Change-Id: Ic621da194d92e3a4202c47ec4828272e8102a146 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158061 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16Execute notifyViewRenderState on view constructorParis Oplopoios
notifyViewRenderState should be executed as soon as a view is created in order to give a view id to the client Change-Id: I31b7e61599f546bd5ec134775e6235633a6526f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154681 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Paris Oplopoios <parisoplop@gmail.com> (cherry picked from commit 6c6bb1d434d5c0be2f71470483f3ce56f5210e01) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154709 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16ofz#63295 Null-dereference READCaolán McNamara
Change-Id: Ib8bfa814099c1c1f3d65b18026ea812c80b6e9c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158058 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16qtcreator: Specify C++ std version using CONFIG qmake varMichael Weghorn
Extract the C++ standard version to use that is specified by a `-std=<version>` or `-std:<version>` compiler flag, and set that via "CONFIG += <version>" in the .pro files used by Qt Creator. This makes the Clang Code Model use the correct mode and no longer complain about `char8_t` after the switch to C++20 in my Windows development setup in Qt Creator: > accessibletabbarpagelist.hxx:22:10: In included file: use of undeclared identifier 'char8_t' > stringutils.hxx:252:31: error occurred here The previous way of specifying this via `QMAKE_CXXFLAGS` as introduced in commit 92c03d9bf644b0f10de52ce0da09f97056e46247 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Jun 7 21:44:03 2019 +0200 qtcreator: Take over '-std=...' from CXXFLAGS appears to not (no longer?) work at least with Qt Creator 11.0.3 on Windows. On the contrary however, setting only `CONFIG` and not `QMAKE_CXXFLAGS` causes the exact same problem in my Linux setup. Therefore, set both qmake variables. Note that there is a specific set of accepted values for the the `CONFIG` variable in .pro files [1], but at least "c++20" and "c++latest" are accepted and have the expected meaning, so that should be fine for now. [1] https://doc.qt.io/qt-6/qmake-variable-reference.html#config Change-Id: Idc75b74300c7bdd0f6193fcfc1758b536728b887 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158053 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-10-16tdf#141892: Set chart view to dirty state after loadingMike Kaganski
Previously, ChartViewHelper::setViewToDirtyState was only called in ChartModel::impl_notifyModifiedListeners during the load process of inline charts; after commit 574eec9036c5f185b3572ba1e0ca9d111eb361dc, the chart doesn't set its modified state when loading, and thus the view did not get notified about the necessary updates. This change introduces a hidden property in ChartDocumentWrapper, named 'ODFImport_UpdateView', which is set in SchXMLImport dtor to force the notification after the loading. Change-Id: Id9d82f16d233d2172cd6808a8498822e13b21b21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158051 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16tdf#157776: Do not set chart and its parent modified when paintingMike Kaganski
When the chart is painted for the first time, its update may create the initial set of objects, which used to set modified state after loading documents. Change-Id: Ie50ef34875440058020486192fe649b492e4baf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158015 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16Fix UITests on WindowsMike Kaganski
... after commit 0d21e1075f0288a007cb427ce508d6fbbf8503dd (uitest: add signal_handler function, 2023-10-04), which added handlers unconditionally, for signals unavailable on Windows. Change-Id: I8b177c4110f869781b2501ee6f15ae7ff4862a94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158050 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16retain Referer information available in OCommonEmbeddedObject ctorCaolán McNamara
Change-Id: I2cb901e81de3b7db73cd2088348ddad46ae603dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158052 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16jsdialog: enable Hyperlink DialogSzymon Kłos
- removed old "tunneled window" test for hyperlink dialog which cannot work when using jsdialogs Change-Id: I62b6c568149d4ea4656b23c47f4c79efe61abfb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156668 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157022 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Update git submodulesStanislav Horacek
* Update helpcontent2 from branch 'master' to dfa69e84f71bced00eb552b0da554907f32794f5 - clarify which files are saved in steps of Firebird wizard Change-Id: If8cb4036ce5582d272079cdf29ddb856ce0b5b85 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/157977 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-10-16Related: tdf#157726 restore try/catch blockCaolán McNamara
before commit de42529ca9107b24b6367b40801300416d4a51a1 Date: Wed Sep 6 14:49:19 2023 +0200 replace svx::PropertyValueProvider with simpler implementation PropertyChangeNotifier::notifyPropertyChange had a try/catch, but afterwards SvxShape::notifyPropertyChange doesn't Change-Id: If78732bea08d0f760b3b616ad55d28d40fa50fcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158026 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Resolves: tdf#157726 missing chart from Base reportCaolán McNamara
since: commit c9b5c627ccb5b70c103c559b1df38c1175efc2d1 Author: Caolán McNamara <caolan.mcnamara@collabora.com> Date: Wed Sep 6 10:05:23 2023 +0100 add referer to ole objects Change-Id: I9ef18bf0d734dd900bdbcac475ca15af7b15456e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158027 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Resolves: tdf#157786 Use GetFloor32() for date days instead of GetInt32()Eike Rathke
Change-Id: I1d6242b516f4b23473151bb99cbdf1a057a15746 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158029 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-10-16check return of get_iter_abs_posCaolán McNamara
Change-Id: Ifdabd65dc9fa5bc6d0c5c6eee1318f99bf918cd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158025 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Revert "Resolves tdf#156685 - "Object without fill" style for tables"Heiko Tietze
This reverts commit 86eb7ad2b4488dcd29c21ae3fc525056b681e199. Reason for revert: More generic solution in I1ca8cfe539a662100f6c581fd633ab1ebd5c6bfb Change-Id: Ie2769a90f776602e38fc2795e08d591f9ae8d618 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158035 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-16Related tdf#156182 - Keep legacy contrast for default backgroundHeiko Tietze
Band aid for follow-up issues, eg. tdf#157706, tdf#157706... Change-Id: I1ca8cfe539a662100f6c581fd633ab1ebd5c6bfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158024 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-16tdf#148539 sc notebookbar: add Sparklines to MenuDataJustin Luth
Sparklines do not have an icon yet, so I didn't attempt to add any (visible) entries to the notebookbar itself. Change-Id: I144ff76306aef0ec184794878a449e0cefd09280 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157978 Tested-by: Justin Luth <jluth@mail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-10-16tdf#115485 sc notebookbar: add MenuInsert-RandomNumber...Justin Luth
Change-Id: I916fd3cb1b39d2d53c77907381dd7d42d3327d63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157986 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-10-16Silence UBSan misaligned-pointer-useStephan Bergmann
...as seen during CppunitTest_sd_import_tests2, > pixman-sse2.c:522:16: runtime error: load of misaligned address 0x5170000a4f83 for type 'const uint32_t *' (aka 'const unsigned int *'), which requires 4 byte alignment > 0x5170000a4f83: note: pointer points here > 00 b8 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff c0 00 b8 ff ff ff ff ff ff > ^ > #0 in combine1 at workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:522:5 > #1 in sse2_combine_add_u at workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:1366:6 > #2 in sse2_composite_add_8_8 at workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:4490:2 > #3 in add_glyphs at workdir/UnpackedTarball/pixman/pixman/pixman-glyph.c:615:6 > #4 in pixman_composite_glyphs at workdir/UnpackedTarball/pixman/pixman/pixman-glyph.c:673:5 > #5 in composite_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-compositor.c:941:2 > #6 in composite_glyphs at workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:2295:12 > #7 in clip_and_composite at workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:1049:15 > #8 in _cairo_traps_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:2331:11 > #9 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:292:11 > #10 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12 > #11 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15 > #12 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15 > #13 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12 > #14 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14 > #15 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:476:9 > #16 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23 > #17 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18 > #18 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:331:16 > #19 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:482:9 > #20 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:951:9 > #21 in drawinglayer::processor2d::VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(drawinglayer::primitive2d::TextSimplePortionPrimitive2D const&) at drawinglayer/source/processor2d/vclprocessor2d.cxx:422:33 > #22 in drawinglayer::processor2d::VclPixelProcessor2D::processTextSimplePortionPrimitive2D(drawinglayer::primitive2d::TextSimplePortionPrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:404:9 > #23 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:200:13 > #24 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #25 in drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13 > #26 in drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&) const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90 > #27 in drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13 > #28 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24 > #29 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13 > #30 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #31 in drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13 > #32 in drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&) const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90 > #33 in drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13 > #34 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24 > #35 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13 > #36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #37 in drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13 > #38 in drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&) const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90 > #39 in drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13 > #40 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24 > #41 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13 > #42 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #43 in drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13 > #44 in drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx:41:14 > #45 in drawinglayer::primitive2d::SdrTextPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx:235:47 > #46 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24 > #47 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13 > #48 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #49 in drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13 > #50 in drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx:41:14 > #51 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24 > #52 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13 > #53 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21 > #54 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:279:31 > #55 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:117:21 > #56 in SdrPageWindow::RedrawAll(sdr::contact::ViewObjectContactRedirector*) at svx/source/svdraw/sdrpagewindow.cxx:354:28 > #57 in SdrPageView::CompleteRedraw(SdrPaintWindow&, vcl::Region const&, sdr::contact::ViewObjectContactRedirector*) at svx/source/svdraw/svdpagv.cxx:239:18 > #58 in SdrPaintView::DoCompleteRedraw(SdrPaintWindow&, vcl::Region const&, sdr::contact::ViewObjectContactRedirector*) at svx/source/svdraw/svdpntv.cxx:610:21 > #59 in SdrPaintView::CompleteRedraw(OutputDevice*, vcl::Region const&, sdr::contact::ViewObjectContactRedirector*) at svx/source/svdraw/svdpntv.cxx:523:5 > #60 in sd::View::CompleteRedraw(OutputDevice*, vcl::Region const&, sdr::contact::ViewObjectContactRedirector*) at sd/source/ui/view/sdview.cxx:498:17 > #61 in sd::DrawView::CompleteRedraw(OutputDevice*, vcl::Region const&, sdr::contact::ViewObjectContactRedirector*) at sd/source/ui/view/drawview.cxx:517:17 > #62 in sd::DrawDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sd/source/ui/docshell/docshel2.cxx:112:12 > #63 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5 > #64 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9 > #65 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:197:40 > #66 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:109:9 > #67 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3738:31 > #68 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3696:33 > #69 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1469:19 > #70 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2992:39 > #71 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2782:9 > #72 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t>>, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objserv.cxx:319:19 > #73 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3191:42 > #74 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1801:13 > #75 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16 > #76 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5 > #77 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:218:5 > #78 in testOverflowBehaviorClip::TestBody() at sd/qa/unit/import-tests2.cxx:1899:5 Change-Id: Iea3e107608137c4dec9103ee0b04e801284b5fa9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158018 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-16LOK: Navigator: fix expand problemsAttila Szűcs
Save/load content types' expanded status to view, and make sure it is synchronized with client. Treeviews now receive/send collapse event/status from/to client. I've rewritten the way how headings are opened by default (because synch of collapsed status broke that, as sub-headings were not expanded at core side). Change-Id: I80f5b4d99fe5224391a92c4609f94ddbcf37b8ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153771 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit b95750af717e0693a13c3ef35277779e1394e0ae) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158016 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16LOK: fix for navigator: hide empty contentTypesAttila Szűcs
fixed that opening heading by default, first check if headings are not hidden, because it blindly opened the 1. type, but from now, that can be an other type, or nothing Change-Id: I86cac472d8cba9a46befc5a84ef073c01fa7243d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152779 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 61e2022110d3088bc1653713dc270beaacae4c74) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157966 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16tdf#157776: Do not send delayed update notifications for setModified(false)Mike Kaganski
Change-Id: I4948cc217079d2ed535b95e3892e619736237cc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158014 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-16Factor out an occurrence of sumNeumaierNormal()Eike Rathke
Change-Id: I693f78be36005cd1fc387a2878112de60bd24905 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158012 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-10-16Revert "Make sure views get new themes on .uno:ChangeTheme"Paris Oplopoios
Seems to cause more issues than it solves, reverting for now This reverts commit 884fd220d0025a92510d3ff4710c8c517c8f271e. Change-Id: If32a9d3bd922afe5611e5258987eec9ec685bc8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157951 Tested-by: Jenkins Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-10-16sw floattable, wrap on all pages: add DOCX filterMiklos Vajna
- map DocumentSettingId::ALLOW_TEXT_AFTER_FLOATING_TABLE_BREAK to <w:compatSetting w:name="allowTextAfterFloatingTableBreak"> on export - do the opposite on import - this requires a bit of rework, to avoid routing <w:compatSetting> via a grab-bag when we want to actually read it during import - also expose GetBooleanValue() from the OOXML tokenizer, so dmapper can know when the value of the compat flag is a true-like string. Note that it seems DOC and RTF don't have a matching compat flag for this. Change-Id: I0cb1230ee40994f59b816c42f8e7d2ac658b3212 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158013 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-16LOK: update navigator instantly on heading level changePranam Lashkari
problem: i.e: when you change the header level, it was not reflected instantly in navigator and required reopening it. That was due to header level change was not registed as change in LOK case Change-Id: I503eb6a3fe9d2801ea5b45b0a1096e8174360ddc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156239 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> (cherry picked from commit 1fca94be7fafc305cf02c0134fbc2d7e5cfb2a03) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157967 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16xmloff: document the ContinuousEndnotes Writer settingMiklos Vajna
Change-Id: I37d223092cc2ff5ccfdaf39424ba9dca2b9b1ef4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157941 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-10-15-Wimplicit-function-declarationStephan Bergmann
Change-Id: Id78f5378566b35da6212bd2ff71d988956e682f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157994 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-15Drop OStringConstExpr, use constexpr OString insteadStephan Bergmann
Change-Id: Ibb41a27fe7d5456d8db0c98821d5b2acf8586b70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-15Repurpose loplugin:stringstatic for O[U]String vars that can be constexprStephan Bergmann
...now that warning about O[U]String vars that could be O[U]StringLiteral is no longer useful Change-Id: I389e72038171f28482049b41f6224257dd11f452 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157992 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-15Typo: Unfortuantely->Unfortunately (python3/ExternalProject_python3.mk)Julien Nabet
Change-Id: I80d316c76196d8cdda4b2ad509d2d1b53b5c414a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157991 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2023-10-15fixup for: 7523efa svg export filter: not export hidden slidesMarco Cecchetti
It seems that the Visible property does not always exist That was causing a failure in Online Impress: - swicth to master view - select any object in the master slide - result: the object is not selected or getting focus and the server report an error Change-Id: I77b0211c6e13da1804457ba48098bbee821b7d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153049 Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157980 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-15svg export filter: not export hidden slidesMarco Cecchetti
Change-Id: I6010f27812a783fd27a423a0f34e30a1b0c584f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152798 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Pranam Lashkari <lpranam@collabora.com> (cherry picked from commit 7523efa63a1334b36ad0a602054423b7f3c629b8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157727 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-15pStringIds can be constexprStephan Bergmann
This array lacked being const[expr], presumably accidentally, ever since it got introduced in 2d1f08d63942666c0094904f50ba8c512ab69b9d "CWS-TOOLING: integrate CWS otf01". Change-Id: Ia8f8207ed5b0668356cafd284d4de595b5890cb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157948 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-15Follow-up: tdf#156985 Use SC_USE_SSE2 to determine which KahanSum::add() to useEike Rathke
Also, the CPU identifier for MSVC WIN32 is not X86 but INTEL, so actually use SSE2 there as well, which was the cause of things failing on that platform. For other platforms than Intel x86/x86_64 SSE2 is not defined, so exclude the new unit test based on that and live on with the old slightly off value. Experiments did not yield any solution that works, even using plain sumNeumaierNormal() (similar to SSE2) in the executeUnrolled() case instead of KahanSum with its m_fMem did not help, nor trying to add the internal values in different orders or with long double, au contraire the error was slightly larger. Change-Id: Ica0b2963f76c01f248799e9a809ef06eb099e722 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156899 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins