summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-20Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 2d73197c21348cbe3d7e8d5329a6fc9e8dc5e326 - Update term Organizer -> General in shared/ pages Change-Id: I455cc5e0f115638fb1c9312db8d8cd50e7b1b0cf Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169272 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> (cherry picked from commit b0425a000fa79d8152652b031c1be8d3d3b2af56) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169148
2024-06-20libxslt: uprade to 1.1.41Xisco Fauli
Downloaded from https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.41.tar.xz Change-Id: Ib06a013d85cc47a901fbe55a880f3ad6a5edcea8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169265 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins (cherry picked from commit 4eb9cde4db28616e0b0c9cd6825830ab7d2f3c96) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169147
2024-06-20tdf#161652 editeng, RTF copy: only write used paragraph stylesMiklos Vajna
Copy a single world from the Impress bugdoc to Writer, number of paragraph styles increase from 126 to 221, while only +0 or +1 are expected. It seems the problem is that the editeng doc of the shape refers to all styles of the masterpage and we write the style table before the content, so we export all styles to be on the safe side. Fix the problem by iterating the paragraphs of the selection in the "copy" (not "export") case, assuming that typically the selection doesn't refer to all available styles in the document, and the number of paragraphs in a shape is not a large amount. An alternative would be to limit the style import on the RTF reading side, but not producing those not needed styles in the first place looks superior. Change-Id: I43e4c542e530ff6422357a28399718e89fdbabe9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169251 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit afb4ea67463d9f0200dc6216cfd932aec0984c82) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169146
2024-06-20tdf#161631 writerfilter: move another member to SubstreamContextMichael Stahl
The problem is that the bugdoc contains a table in the footer, which causes m_bDummyParaAddedForTableInSection to be set, which erroneously causes the last paragraph in the body to be removed. (regression from commit 86ad08f9d25110e91e92a0badf6de75e785b3644) Change-Id: I148785c54c37dc25f7d239b5898aec9fb5455f40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169191 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit ef77086255821d61838a7e26fee9baadaca0b9e0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169137
2024-06-20tdf#159835 sfx2: Keep sidebar menu up to dateMichael Weghorn
No longer update the menu for the menu button in the sidebar in the handler that gets called when the button gets clicked, but continually keep the menu up to date instead. This ensures that the menu is up-to-date when it gets shown. Updating the menu in the button handler is too late since commit f075fa01cb4f74185f13eb0a8d7f84cf1f47af49 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Aug 22 10:26:32 2023 +0200 tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close , as the handler is now no more called before the menu gets shown. Do the update in method `TabBar::UpdateMenus` instead and call that one whenever items change or the sidebar gets docked/undocked, as menu entries are shown for the items and for (un)docking. This makes the menu show all entries again when opened the first time after starting Writer, which was no longer the case after the above-mentioned commmit. Change-Id: I9a7e341e88d2de5f34e8f85ebada3ff2ebf6b47d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169196 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit daed96f0818b1baae5de8b74b866009d7d89f853) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169142
2024-06-20tdf#159835 vcl: Notify when floating window toggledMichael Weghorn
Notify listeners using an `VclEventId::WindowToggleFloating` event when the floating mode was toggled in `DockingWindow::SetFloatingMode`. This will be used in upcoming commit Change-Id: I9a7e341e88d2de5f34e8f85ebada3ff2ebf6b47d Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jun 18 13:41:03 2024 +0200 tdf#159835 sfx2: Keep sidebar menu up to date to react to that toggling. Change-Id: I5286ab727c30d4dd4bbc3cf5d42f19ff649b39f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169195 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit c2c6a5d32f8c536ab816630583f986860202c4a9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169141
2024-06-20tdf#159835 sfx2 Connect SidebarController menu handlers earlierMichael Weghorn
Instead of connecting the SidebarController handlers for handling activation of `TabBar` menu items every time in `TabBar::OnToolboxClicked` (which is the handler that gets called when clicking the menu button), do so once in the `TabBar` ctor. This also ensures that the handlers are connected before the menu shows for the first time, which is no longer true for the previous approach since commit f075fa01cb4f74185f13eb0a8d7f84cf1f47af49 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Aug 22 10:26:32 2023 +0200 tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close Now, clicking on the sidebar menu and selecting the "Undock" entry works to undock the first time, not only when opening the menu for the second time. Populating all menu entries before the menu gets opened for the first time still needs to be implemented separately. Change-Id: I7e5d5e511c2ce2c7304e8f88676970d76e6319df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169193 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 504e5501fce3f53d15b53f344c20e4404ff8f3db) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169140
2024-06-20tdf#159835 Deduplicate a few lines in DockingWindow::SetFloatingModeMichael Weghorn
They're the same for both branches. Change-Id: I73c3433fe3cfbb3eaa1b25cc2a76613d59d894a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169194 Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> Tested-by: Jenkins (cherry picked from commit d7aeaeafc32f78ca38942868f965bae0e6c376b1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169139 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-20Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 83da8f2dc58d4fefaecf204ec6fc54281c65213a - tdf#161638 Update Calc View options Help page + Added images of visual features + reordered dialog section description Change-Id: I8cb7158b7e88b55f686372b8e790e0165a25d8cc Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169232 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> (cherry picked from commit ba5e40d637b9dac0575f982d48666bb45423c628) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169138
2024-06-19tdf#161579 userautosave: fix wording to match 24.2 implementationJustin Luth
The implementation changed with my LO 24.2 commit 63bb760acc8aa50c352f3349e8adf3db381b4911 https://gerrit.libreoffice.org/c/core/+/155273 for bug 57414 When the document successfully saved, there was no reason to create a recovery version of it immediately afterward. Change-Id: If62b9c60cf6b39d25ee42001eb6344593479c716 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168897 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> (cherry picked from commit 47af7ba63ce7f5c47cfef74d4606c0d8e92f7894) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169132
2024-06-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 0a850057c2fba0fe7e3743a507e92a929562a0d4 - tdf#161579 Fix on Save options Help page Change-Id: I58f37e50d5579b76b2b4b95a885ae2ef9e6856c2 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169126 Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins (cherry picked from commit e6ef90ff763ee24c62f15dd4a312020a04b93655) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169136
2024-06-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 4d5d28094e2a3ff37d78ea6f0a58615015d663e6 - tdf#161639 Fix macOS command path + refactor + moved command description above how-to-get + added tabbed UI how-to-get for Expert config Change-Id: I026ef0f1891c18ea50ce187b6fba35dd5a194ac9 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169119 Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins (cherry picked from commit 88885d0ae30d7d89219d86d263b1a31d77fb6de0) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169130
2024-06-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 23bbf450933fc8c59507521165d7e1d23a7bcf86 - tdf#161579 Further rework on Save options Help page + refactor + removed outdated screenshot from page + deleted outdated screenshot from build + change paragraph tag to a tip tag for better reading. Change-Id: I8ec7330ffe501e7b68ee1ccc9591e45dbe35c05b Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169116 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> (cherry picked from commit 840359bcb401b17e55a0370a9a0d15890a824abe) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169109
2024-06-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to 52572824af33a77628c57fe7f6d3e2e19c226b32 - tdf161612 Precisions for XMATCH function Help page Change-Id: Id50a01c9c33284124f022540ac51c1f1651848e7 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169007 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> (cherry picked from commit 9f43bf5caf95051c06f0c08f326f8d864c501d58) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169102
2024-06-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'libreoffice-24-8' to b80910b523d23afe7d4bb6c59a443eb429003faf - tdf#154226 Add link to LO books on Help pages Added a row of icons on the footer of the Help pages. Change-Id: I40e1e697e5defa21ba3fb6f93198489ac401924b Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169033 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> (cherry picked from commit 4c8b04c8d9d3a2367bb3205b852f2d7b75082f90) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169101
2024-06-19tdf#161635 sw DoNotCaptureDrawObjsOnPage: fix handling of left paddingMiklos Vajna
Open the bugdoc, the shape has an 5cm left padding for its text, but only 4cm of that is visible in Writer. Checking the shape, part of that is outside the page frame, so the first 1cm of the left padding is not visible, visually resulting in a 4cm left padding in Writer, but not in Word. Fix the problem by extending SwFlyFrame::MakePrtArea(), so in case the shape is partially outside the page frame, then we make sure to increase the left padding enough that the nominal (5cm) left padding is inside the page frame. With this, the text on the title page of the document is visually centered also in Writer, even if not using an explicit paragraph alignment. Change-Id: I5dcbcf407ed7f12f0bc13820fa39621a76e23fe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169186 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 61692b82ae4ff62662509b5979a7aabc7d380678) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169134
2024-06-19tdf#159835 sfx2: Simplify TabBar::OnToolboxClickedMichael Weghorn
Now that the logic from `SidebarController::PopulatePopupMenus` has been moved here in Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Jun 17 13:35:12 2024 +0200 tdf#159835 sfx2: Move logic to populate sidebar menus to TabBar as well, simplify `TabBar::OnToolboxClicked`: No longer use one loop to build a vector of entries and another to process these, but use a single loop for that instead. Drop the now unused `DeckMenuData` class. Change-Id: I884f3b70bb4d85b9a52421e9de6042cda80cfa0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169006 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169076
2024-06-19tdf#159835 sfx2: Move logic to populate sidebar menus to TabBarMichael Weghorn
Move the logic to populate the menus from `SidebarController::PopulatePopupMenus` (called by `SidebarController::ShowPopupMenu`) to `TabBar::OnToolboxClicked`. The latter called `SidebarController::ShowPopupMenu`. (In a first step, take over the existing implementation but leave further changes for following commits.) `TabBar::OnToolboxClicked` already collects all the deck data relevant for the menus and the menus are members of that class, so it seems more straighforward to populate the menus there right away. The only information needed from `SidebarController` is whether the sidebar is docked or not, so add a new method `SidebarController::IsDocked` to retrieve that information. Rename `SidebarController::ShowPopupMenu` to `SidebarController::ConnectMenuActivateHandlers` as it only connects the signals now, and rename `PopupMenuProvider` to `PopupMenuSignalConnectFunction` accordingly. This commit does some refactoring in preparation of fixing tdf#159835, no change in behavior intended (yet). Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169005 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169075
2024-06-19tdf#159835 sfx2: Use reference instead of pointerMichael Weghorn
This e.g. makes it clear that this is never null. Also use an `m` prefix for the class member. Change-Id: Ia66245f17e7f0ca9e57750e8606c8ccc1387eb97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169004 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169074
2024-06-18language-subtag-registry: upgrade to 2024-06-14Xisco Fauli
How the file was created: mkdir data cd data wget https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry cd .. tar cvjf language-subtag-registry-2024-06-14.tar.bz2 data/language-subtag-registry Change-Id: Ib85b9072590a97fde37be85b9866bf53f77d1f4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169061 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins (cherry picked from commit 62c99a31de22561e0e38dd10f3b3fd2b6dd9971d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169098
2024-06-18tdf#161570 DOCX import: fix lost numbering in paragraph styleMiklos Vajna
Regression from commit ca71482237d31703454062b8b2f544a8bacd2831 (tdf#153083 writerfilter: import locale-dependent TOC \t style names, 2, 2023-01-31), open the doc, apply 'Level 2 Heading' on the first para, then switch back to 'Signature' again using e.g. the sidebar, the numbering of the first paragraph is gone. This was initially a wider problem, but since commit ab1697cb4c17fd7a2fbf8d374ac95fc03b4d00be (tdf#160402 filter,writerfilter: import locale-dependent STYLEREF names, 2024-05-06), the problem only affects built-in styles. There were two remaining problems: 1) the separator for the TOC field can contain whitespace, which resulted in a style named ' Signature' and 2) the style was always cloned, even if the name was not localized. Fix the problem by first trimming the style name in DomainMapper_Impl::handleToc() and then only cloning in DomainMapper_Impl::ConvertTOCStyleName() if we see that the style name is localized. A localized style name can be observed when opening e.g. sw/qa/extras/ooxmlexport/data/custom-styles-TOC-semicolon.docx that has Intensives Zitat vs Intense Quote. One remaining question is why the numbering is lost when the cloning happens, that's not addressed here, as the cloning should not happen for this document in the first place. Change-Id: Ibc2ea20cc3c9ec6bec9bdcdabce1469a0457317a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168994 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 4e5dd2c0774242e44ac6edf2bd5ada220541b06b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169014
2024-06-18tdf#145735 qt avmedia: Don't deadlock with QGstreamerMediaPlayerMichael Weghorn
While opending a slide with a video worked fine for me with the qt6 VCL plugin and a local Qt development build on Debian testing (qtbase as of 8915ae3a75c4a356d94962dd9b31e1458f2a506f, qtwayland as of deae8b9ce9f551b29ef98d0bb827a8543af2797e, qtmultimedia as of 235ba5f273fbb7dfed8ba3736e4444a85aee5770), this resulted in a freeze when using Debian's system-provided Qt packages instead (libqt6multimedia6:amd64 6.4.2-11+b2). While the self-compiled Qt dev is using `QFFmpegMediaPlayer` which asynchronously loads media, the system QtMultimedia is using `QGstreamerMediaPlayer` (s. frame 37 in below backtrace) that apparently doesn't use multiple threads. Therefore, using `Qt::BlockingQueuedConnection` is problematic, as its documentation [1] says: > Same as Qt::QueuedConnection, except that the signalling thread blocks > until the slot returns. This connection must not be used if the receiver > lives in the signalling thread, or else the application will deadlock. Use `Qt::AutoConnection` (= 0, the default) instead and specify the `Qt::SingleShotConnection` flag in addition to ensure the slot gets called only once: > This is a flag that can be combined with any one of the above connection > types, using a bitwise OR. When Qt::SingleShotConnection is set, the > slot is going to be called only once; the connection will be > automatically broken when the signal is emitted. This flag was > introduced in Qt 6.0. Drop the now no longer needed manual disconnect. This makes the scenario work with both, the custom-compiled Qt dev using `QFFmpegMediaPlayer` and the system-provided Qt 6.4.2 using `QGstreamerMediaPlayer`. Side note: Unrelated to the issue addressed here, using the system-provided Qt with `QGstreamerMediaPlayer` results in a crash when started via the soffice shell script wrapper with a LibreOffice debug build or when using soffice.bin directly and manually setting `MALLOC_PERTURB_=153`, which indicates some memory issue. That could be within Qt, though, haven't analyzed that further. Backtrace of deadlock: 1 syscall syscall.S 38 0x7f40a83249f9 2 QSemaphore::acquire(int) 0x7f40948714e2 3 ?? 0x7f409477fede 4 QVideoSink::videoFrameChanged(QVideoFrame const&) const 0x7f4095195376 5 ?? 0x7f405c219f5c 6 ?? 0x7f405c21a25b 7 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x7f4093782d62 8 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7f40947356d8 9 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *) 0x7f40947358b7 10 ?? 0x7f4094925257 11 ?? 0x7f409ab0de3f 12 ?? 0x7f409ab0fec7 13 g_main_context_iteration 0x7f409ab104e0 14 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7f4094922f60 15 QtInstance::ImplYield QtInstance.cxx 455 0x7f4094e534e0 16 QtInstance::DoYield QtInstance.cxx 464 0x7f4094e568a5 17 ImplYield svapp.cxx 384 0x7f409f3c48cc 18 Scheduler::ProcessEventsToIdle svapp.cxx 419 0x7f409f3c4bc8 19 avmedia::qt::QtFrameGrabber::grabFrame QtFrameGrabber.cxx 106 0x7f405cac5524 20 non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) 0x7f405cac564e 21 avmedia::MediaWindow::grabFrame mediawindow.cxx 385 0x7f40a03e41ad 22 SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const svdomedia.cxx 195 0x7f40a249e5b5 23 std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 61 0x7f40a249e52d 24 std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 111 0x7f40a249e4dd 25 std::_Function_handler<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke(std::_Any_data const&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) std_function.h 290 0x7f40a249e345 26 std::function<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const std_function.h 591 0x7f40a03e96cd 27 avmedia::PlayerListener::callPlayerWindowSizeAvailable mediawindow.hxx 76 0x7f40a03e6bf1 28 avmedia::PlayerListener::preferredPlayerWindowSizeAvailable mediawindow.cxx 496 0x7f40a03e5055 29 avmedia::qt::QtPlayer::notifyListeners QtPlayer.cxx 395 0x7f405cacfd53 30 avmedia::qt::QtPlayer::notifyIfReady QtPlayer.cxx 326 0x7f405cacfb42 31 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QMediaPlayer::MediaStatus>, void, void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call qobjectdefs_impl.h 135 0x7f405cad477b 32 QtPrivate::FunctionPointer<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call<QtPrivate::List<QMediaPlayer::MediaStatus>, void> qobjectdefs_impl.h 172 0x7f405cad46cd 33 QtPrivate::QSlotObject<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus), QtPrivate::List<QMediaPlayer::MediaStatus>, void>::impl qobjectdefs_impl.h 383 0x7f405cad4612 34 ?? 0x7f409477fbbe 35 QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus) 0x7f4095184a05 36 ?? 0x7f405c210740 37 non-virtual thunk to QGstreamerMediaPlayer::processBusMessage(QGstreamerMessage const&) 0x7f405c2009f7 38 ?? 0x7f405c21aa94 39 QObject::event(QEvent *) 0x7f40947723e0 40 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x7f4093782d62 41 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7f40947356d8 42 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *) 0x7f40947358b7 43 ?? 0x7f4094925257 44 ?? 0x7f409ab0de3f 45 ?? 0x7f409ab0fec7 46 g_main_context_iteration 0x7f409ab104e0 47 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7f4094922f60 48 QtInstance::ImplYield QtInstance.cxx 455 0x7f4094e534e0 49 QtInstance::DoYield QtInstance.cxx 464 0x7f4094e568a5 50 ImplYield svapp.cxx 384 0x7f409f3c48cc 51 Scheduler::ProcessEventsToIdle svapp.cxx 419 0x7f409f3c4bc8 52 avmedia::qt::QtFrameGrabber::grabFrame QtFrameGrabber.cxx 106 0x7f405cac5524 53 non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) 0x7f405cac564e 54 avmedia::MediaWindow::grabFrame mediawindow.cxx 385 0x7f40a03e41ad 55 SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const svdomedia.cxx 195 0x7f40a249e5b5 56 std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 61 0x7f40a249e52d 57 std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) invoke.h 111 0x7f40a249e4dd 58 std::_Function_handler<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke(std::_Any_data const&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) std_function.h 290 0x7f40a249e345 59 std::function<void (com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const std_function.h 591 0x7f40a03e96cd 60 avmedia::PlayerListener::callPlayerWindowSizeAvailable mediawindow.hxx 76 0x7f40a03e6bf1 61 avmedia::PlayerListener::preferredPlayerWindowSizeAvailable mediawindow.cxx 496 0x7f40a03e5055 62 avmedia::qt::QtPlayer::notifyListeners QtPlayer.cxx 395 0x7f405cacfd53 63 avmedia::qt::QtPlayer::notifyIfReady QtPlayer.cxx 326 0x7f405cacfb42 64 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QMediaPlayer::MediaStatus>, void, void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call qobjectdefs_impl.h 135 0x7f405cad477b 65 QtPrivate::FunctionPointer<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus)>::call<QtPrivate::List<QMediaPlayer::MediaStatus>, void> qobjectdefs_impl.h 172 0x7f405cad46cd 66 QtPrivate::QSlotObject<void (avmedia::qt::QtPlayer:: *)(QMediaPlayer::MediaStatus), QtPrivate::List<QMediaPlayer::MediaStatus>, void>::impl qobjectdefs_impl.h 383 0x7f405cad4612 [1] https://doc.qt.io/qt-6/qt.html#ConnectionType-enum Change-Id: Ia8bfd19b0c0c4f970a5eb200c2a0b45784ef25fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169036 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 4df2a30c57c150d30d34e4cd1641a076cf3010f6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169097
2024-06-18tdf#145735 qt avmedia: Show audio placeholder for audio filesMichael Weghorn
So far, `QtPlayer::createPlayerWindow` was unconditionally creating a video widget. However, audio-only media files can be used as well, therefore handle that case, too and create a widget holding an audio icon as a placeholder instead if the media doesn't contain video. (This is the same icon shown when using qt5 that doesn't use QtMultimedia). As described in commit a99575f04fa9c858bfcd996f037444135810d43f Author: Michael Weghorn <m.weghorn@posteo.de> Date: Sat Jun 1 07:32:22 2024 +0200 tdf#194504 qt avmedia: Don't wait for video frame if there's none , `QMediaPlayer::hasVideo()` only returns a useful result once loading media has finished. Therefore, if the player is still in that state in `QtPlayer::createPlayerWindow`, defer creating the widget to when the media status changes. With this commit in place, opening an Impress presentation that contains an audio file (like attachment 194504 from tdf#145735) and starting presentation mode now shows an "audio icon" as placeholder as expected when using the qt6 VCL plugin. (This commit here makes that work for presentation mode, while the above-mentioned commit already made the icon show as expected for non-presentation mode.) Change-Id: I1ff7e8b8659162a748abc3f97a8d2181375c0e7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169009 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 12c4b7ee91c6fb1e2a1e4a5c8828372ddfad5a9f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169096
2024-06-18tdf#161616: do not set error when XGoalSeek failsXisco Fauli
Change-Id: I2fcec37cd9d22862dd136c97e5b4097e69fd41cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169035 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169050
2024-06-18tdf#68034: sc_goal_seek: Add unittestXisco Fauli
Change-Id: I675d59cd7e22c09ea1c673e016d71f8d3ed404a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168890 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169049
2024-06-18tdf#161511: sc_goal_seek: Add unittestXisco Fauli
Change-Id: Icc05195a4870d5bb4f8c5ffc9b3bcae89367a89d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168866 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169048
2024-06-17package: remove experimental mode checkMichael Stahl
It should check for the wholesome encryption more directly; PBKDF2 is unreachable from the UI in this case anyway, this can only be tested with LO_ARGON2_DISABLE=1 in the environment. Change-Id: I5e74471300df1c6ef3892dc544f13328e5898abb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168998 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit 0cbfd84b0c57a831b2ff48239aa9926482f49f8b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169012
2024-06-17tdf#148569 set extra drawing constraints when scalingPatrick Luby
Previously, setting stroke width and cap was only done when running unit tests. But the same drawing contraints are necessary when running with a Retina display on macOS. Change-Id: I74f7347d30a410f7d3485388ffec61b32730b948 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168973 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit a4488013ee6c87a97501b620dbbf56622fb70246) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168947 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-06-17Update git submodulesChristian Lohmaier
* Update translations from branch 'libreoffice-24-8' to 8be0b107f84d9ea94a5d04146d54426366fe4ee5 - update translations for 24-8/master and force-fix errors using pocheck Change-Id: I4a4726ec04a147df4f78d95213a82bf9e0c13a61 (cherry picked from commit b6092afde898f454189047221479af58e31049fa)
2024-06-17cid#1603805 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: Ieb2c72dbdfec8431bd23da8a5e4844f3c1a5b74e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168958 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit c003f792183b63ca3f282a6fd53ceae0167f2a5e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168942 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17crashtesting: avoid eventual assert when double inf is cast to sal_Int32Caolán McNamara
seen on loading forum-mso-en4-604220.xlsx and asserting on export to ods lets assume that an infinite Y position equates to ALIGN_BOTTOM which is the case seen in this example, and assume the same for infinite X and ALIGN_RIGHT if it arises Change-Id: I009a9cd94b7bd9ed66e18f8dbbb9eb91d37eaa65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168892 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 64da52a94738aa73cbcf2411952914d4e8e0f9ef) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168940 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17Gtk warnings about missing labelsCaolán McNamara
a problem since: commit 164596c00b4361b5b378609f026a1b11ac653970 Date: Tue Nov 14 12:13:21 2023 +0100 resave with newer glade version Change-Id: I2b69229c59ee07939da43b3013f64041c74f5967 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168930 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17tdf#159924 sw: fix hyperlink name export to PDFTibor Nagy
If there is a Name attribute set for a hyperlink, the text is exported to PDF as tooltip. note: not every PDF reader displays this text Change-Id: Ib9f1c13403c1555bfae733d662754c0e052378f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168993 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> (cherry picked from commit a3ac49ebe78b7fc164dbc766492faee084bad254) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168949 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17tdf#160888 package: fix opening password protected scripting libraryMichael Stahl
The problem is that XBufferedThreadedStream does not implement XSeekable, so the new code in ZipFile::checkValidPassword() throws an exception, and then joining the UnzippingThread hangs. Implementing XSeekable doesn't appear to help, as the mutex that is used by XBufferedThreadedStream and the UnzippingThread is already locked by checkValidPassword() [fixably] and by getDataStream(). So just disable threading for AEAD streams, these are read immediately anyway so threading isn't much of a benefit. (regression from commit 2f512aaa6c39390a5a0eb1d1e37f070127d068a4) Change-Id: I16027d5b03ba6e102bc143c22383eb7f08590e5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168893 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 31698044cd1fe7a7662740b97ea58f9904b3bb0e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168945
2024-06-17fix crash in "delete comments by author" in impressCaolán McNamara
insert comment, click on it to expand it, click on menubutton and use "delete all comments by..." crash on use of invalid iterator as callback trashes the vector being iterated over Change-Id: Ia86de87207f706f35a023efa433c5e67b8bb436a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168970 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168935
2024-06-17Remove some unneeded castsMike Kaganski
This also changes the API used in WriteLibraryToRegistry. Change-Id: Iba4c20567275a64684be8695c771e4c5535956ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168912 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168992
2024-06-17tdf#161585: fix DllRegisterServer implementationMike Kaganski
The buffer was prepared with a wrong length (one too few spaces); thus, the resulting registry key path was wrong, and opening it failed. While at it, use a normal WinAPI to stringify GUIDs, and simplify code. Change-Id: I9a51a5aa70791106055c615fd15a32e5e07847a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168903 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 7b2c82ff14094aad4cb64a9d2531fd8fe48229b1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168938 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17Simplify a bit using newer registry APIMike Kaganski
Change-Id: I0bd2a238662e1da0c62cdaec96b9892df82298f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168909 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168991
2024-06-17Simplify a bit using newer registry APIMike Kaganski
Change-Id: I8e0106464260126983a1d55c66c218e78da7f94e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168908 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168990
2024-06-17tdf#35568 Repeat "first run" procedure on upgradeMike Kaganski
1. In isProductVersionUpgraded, if it was upgraded, set FirstRun. This will run in runGraphicsRenderTests, early enough in Desktop::Main(). 2. This will make sure that Desktop::CheckFirstRun() will do its tasks, including creation of the quickstart shortcut. It is simplified a bit, to use a better WinAPI. 3. Setting FirstRun to false is moved to m_firstRunTimer's handler, to make sure that it gets run eventually, even if the first launch was terminated before the timer fired. This will not make installer itself create the quickstart shortcut: it will happen on the program's first run after an upgrade. But users now won't have to enable the option manually each time. Change-Id: Ica6cc41f1e56b8970db27d14e2be3c47910293e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168902 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins (cherry picked from commit f1e4a97b03e1eacd679c3ef1dcb7ab4b577dd928) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168939 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17tdf#68034: set the variable cell to value temporarily if neededMike Kaganski
Change-Id: I35fed710862ed87c477686e26bc8c82379c5e5a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168854 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins (cherry picked from commit 6fc21353bb30e71e2fc4d47394bf7ec2e704a454) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168941
2024-06-17Resolves: tdf#160681 draw impress comment similarly to how writer does itCaolán McNamara
so we get the same filled MenuButton in both applications Change-Id: Iea41a17285287ec2794e4cdce6eaae0906fff291 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168969 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168989
2024-06-17fix gtktreestore.c:1047: Invalid column number 6 added to iter warningCaolán McNamara
probably since: commit 35f59457ff434b7b97cad6ce1dbef6ff07f7bc96 Date: Thu Nov 16 17:03:39 2023 +0100 tdf#158135 - UI: Part 30 - Unify lockdown behavior of Options dialog for Writer - Compatibility Page. Change-Id: Icaf1320f4f819294d49f99b3f1728fa025c51e11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168931 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17sw: show "wait" pointer while accessibility check is runningTomaž Vajngerl
Change-Id: I234af45560db7940d07669be9abd1b1ec50a74cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167880 Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 10ef0f03bb6a9efc0dcabe8710b59bd7b41a2fcf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168783 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins (cherry picked from commit 37422f16fe56ca10cda549af03b165bf28c9e099) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168875 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17sw: add update button to a11y check sidebar when using LOKitTomaž Vajngerl
Running the a11y check when the sidebar gets enable takes some time, because populating the widgets is quite expensive. Instead of running the check right away, add a "update" button to the sidebar, that needs to be clicked first to start running the accessibility check. This does not check the behavior of the sidebar in desktop LibreOffice. Also change the populate call to be async, which helps a bit to make the UI interaction more fluent, but doesn't fix the issue. Change-Id: Ia04f4a5fbae952035c1b8d4d7c56211e061d8251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167855 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 5e6d7927e27551aa63a2b22134b1a9ee6408d39a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168784 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit efd665b931fdc46f226964ac838fb72a73782b98) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168882 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-17tdf#92091 Writer save and restore VCL state during recursionJonathan Clark
This change updates Writer to save and restore VCL device state while laying out text. This fixes issues caused by Writer mutating device state while recursively laying out text, particularly overlapping RTL and LTR text when used together along with footnotes. Change-Id: I077352551ce2072f5c5eab9bff4b98bbcc6e78f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168835 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> (cherry picked from commit e78bb77c3c5930b20113bff3de2dd02065cead85) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168881 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-16Resolves: tdf#159741 canceling printing results in 'modified' documentCaolán McNamara
Change-Id: I627487a79f819351ec38e34b3fac432c36670d7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168932 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-06-15tdf#158914 add back reusing weakly cached ScAccessibleCellsPatrick Luby
While commit 8e886993f32b7db11a99bdecf06451e6de6c3842 fixed tdf#157568, moving the selected cell rapidly creates a large number of stale ScAccessibleCell instances that aren't deleted until the Calc document is closed. So reduce memory usage by adding back the ScAccessibleCell cache that was in commit f22cb3dfab413a2917cd810b8e1b8f644a016327 now that a new fix for tdf#157568 has been implemented. The new fix for tdf#157568 is to do the following: - Check if the edit engine text has changed. If the input string is different than the edit engine's existing text, force update of the edit engine's text. Otherwise, the edit engine will still to be set to its existing text. - Before a cell loses focus, check if any accessible text changes have occurred and fire text and value changed notifications if needed. Change-Id: I106ad0138d5d834367be59ca625d41a692696d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167961 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit ab5ad0c8b5056da8f699cea233dd31eceb3d80a4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168887
2024-06-15wina11y: Fix handling for special text offset -1Michael Weghorn
As described in the IAccessible2 spec [1], -1 can be used as a special text offset: > Using IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the > IAccessibleText or IAccessibleEditableText methods is the same > as specifying the length of the string. Replace -1 by the text length *before* doing the check whether end offset is smaller than the start offset. Otherwise, trying to query the whole text of a Writer paragraph containing the text "hello" in NVDA's Python console would incorrectly trigger an error: >>> focus.IAccessibleTextObject.text(0,-1) Traceback (most recent call last): File "<console>", line 1, in <module> File "comtypes\__init__.pyc", line 856, in __call__ File "monkeyPatches\comtypesMonkeyPatches.pyc", line 32, in __call__ _ctypes.COMError: (-2147467259, 'Unspecified error', (None, None, None, 0, None)) With this commit in place, it works as expected: >>> focus.IAccessibleTextObject.text(0,-1) 'hello' [1] https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_general_info.html#_specialOffsets Change-Id: I489a42270a56178cc8ee0564eec3dc82e15969c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168853 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit 0c7928dc10da2c8c5ce9910fe20cea439573f2ae) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168885
2024-06-14tdf#161573: Do not show unrelated messages during broken ZIP detectionMike Kaganski
Change-Id: Iab7f4bb492e24eb2ca6448f3540d219a18c15d79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168869 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 278008f76835a128025b2a37ba8c9a7613284b6d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168883 Reviewed-by: Justin Luth <jluth@mail.com>