summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
8 daysRelated: tdf#161708 sw content controls: fix custom default of dropdown to PDFMiklos Vajna
Export the bugdoc to PDF without noticing that there is a content control around some of the content and notice how the PDF export lacks some words from the body text. What happens is that content controls are exported to PDF as PDF forms by default, and the selected option of a dropdown has to be an index, so in case the text of the dropdown content control is not one of the options, then the PDF will miss those words. Fix the problem by inserting the text of the dropdown at the start if there would be no valid index for it. Also add a bit of padding around the rectangle of the content controls, it turns out there is a default 1pt border in PDF, and this would lead to a cut-off text at the end if we don't compensate for that border. Change-Id: I99447894b320b42ad9ffe0d54d0190000621616b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169694 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit b3e01bd3bdd37961057026ab7f2b57cbfab35d4a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169671 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
8 daystdf#159680 fix memory leak of CTFontRefPatrick Luby
The CTFontRef in CoreTextFontFace::GetVariations() was never released and a new CTFontRef was allocated in every call to CoreTextFontFace::GetVariations(). So release the CTFontRef and only allocate it once when mxVariations is populated. Change-Id: I08999956501d5860fff67e48001ef85a62ca8079 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169690 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit 2e87c644245751aea9f50faf16c4ca4d57b0c2f1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169676 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
12 daystdf#161498 use COL_ALPHA_OPAQUE for finding opaque pixelsPatrick Luby
Starting with commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, pixels now contain an alpha value instead of a transparency value. Change-Id: I07dd39859057bbbbd153a21ee38625049039b106 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169654 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit 1ac602f6ccd75f3b79d6c7a9d40e64677dd5741a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169667 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
12 daystdf#159175 Do not allocate a CGLayer for each NSWindow when using SkiaPatrick Luby
Skia surfaces can be copied directly to an NSWindow's CGContextRef so disable allocation of a CGLayer for each NSWindow to significantly reduce memory usage when Skia is enabled. Change-Id: I8e3001e4f2ae8dd36156c06db68447c6b1bc67df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169242 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit 12dbf0e6b6b485a1d73c7e33bd0ecfb13e6efdac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169559 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
12 daysRelated tdf#148569: do not apply macOS fix to non-macOS platformsPatrick Luby
Setting the stroke width and cap has a noticeable performance penalty when running on GTK3. Since tdf#148569 only appears to occur on macOS Retina displays, revert commit a4488013ee6c87a97501b620dbbf56622fb70246 for non-macOS platforms. Change-Id: I2435434c6f66b84483046ea558bac3d47b8803ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169494 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
12 daystdf#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/+/169249 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
12 daystdf#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/+/169247 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
14 daysjsdialog: support on demand rendering for icon viewSzymon Kłos
- rename action: rendered_combobox_entry -> rendered_entry - change generic get json property callback to more specialized image getter as it wasn't used anywhere apart of that and we need image enceded as base64 only not JSON - add to the full update of icon view "ondemand" property to the entries with images so LOK client will know it has to download the render - it will be possible to support HiDPI renders in the future: added TODO Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: I83a6e91133f8f9cb03e0bc794b51e1947435fa90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169622 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-25tdf#161708 sw content controls: handle font color when exporting to PDF formMiklos Vajna
Export the bugdoc to PDF, the orange "date" lost its font color. This went wrong in commit 82d90529dc2b3cb8359dec78852cbd910a66d275 (sw content controls, rich text: add initial PDF export, 2022-09-12), we export the content control as a PDF form widget by default since then. Various properties like checkbox status and dropdown items were handled already, but not text color. Fix the problem by mapping the SwFont color to the widget descriptor color, this fixes the color of the already filled in content of the widget. Note that given this is a property of the form widget, the color is correctly applied also to strings filled in via PDF readers, interacting with the form. (cherry picked from commit 0f165b7f2f03d806eb14ba7529223d31e30674a8) Conflicts: external/pdfium/UnpackedTarball_pdfium.mk Change-Id: Id3e8611e415c0d571afe1cd14561c97b8a910ce9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169459 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-06-24tdf#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/+/168948
2024-06-24when SAL_CUPS_PPD_RETAIN_TMP is set output what the ppd file was saved asCaolán McNamara
Change-Id: Ib17ec39a5b2691190c5eb1291d1977e1b83eba15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168800 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-06-24tdf#155212 clear the cached system font list after loading a fontPatrick Luby
If the system font is not cached in SalData, loading embedded fonts will be extremely slow and will trigger each frame and each of its internal subframes to reload the system font list when loading documents with embedded fonts. So instead, reenable caching of the system font list in SalData by reverting commit 3b6e9582ce43242a2304047561116bb26808408b. Then, to prevent tdf#72456 from reoccurring, clear the cached system font list after a font has been loaded or unloaded. This should cause the first frame's request to reload the cached system font list and all subsequent frames will avoid doing duplicate font reloads. Change-Id: If2a36f8c17d8e25f818275f30a19af8517478884 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168734 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 195ed184dd1552816bdebfe9c54fb6408bf91cc1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168728 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit c270131be7a8ecc9599dc0f0fe6ea24c650f32ed) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168801
2024-06-24Resolves: tdf#160635 allow larger tiff imagesCaolán McNamara
Change-Id: I67a21877e7e75c2753218a7e6c978f691d679583 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168720 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-06-24tdf#161461 stop crashing by retaining NSStringPatrick Luby
OUStringToNSString() returns an autoreleased NSString so it needs to be retained for the life of maOfficeOnlyTypes. Change-Id: Ic3777f818b7cada8e88e97965531fc0a7f2e825c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169291 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-06-21annot: use createBitmapFromBuffer also when rendering the PDFTomaž Vajngerl
This removes the duplicated code. Change-Id: I54ada6875f7897b7eb480f10b8e1c8be887ca5ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168982 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-18annot: make sure the annotation subtypes in PDFium match with oursTomaž Vajngerl
Change-Id: Ic18f394b532118f39988a650d046880b049c9ec3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168847 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-18annot: read PDF FreeText annotation "DS" and "RC" keysTomaž Vajngerl
DS (DefaultStyle) and RC (RichContent") contain xhtml, css3 rich text content for the text presented by the FreeText annotation in the document. This adds reading of those 2 things to the PDFium library, PDFium based import and the PDFAnnotationFreeTextMarker class. Change-Id: I32f89640611c730c8a1a8d1a2107e2e11669ec18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168846 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-18vcl: convert PDFiumLibraryTest to CPPUNIT_TEST_FIXTURETomaž Vajngerl
Change-Id: I5022bec2622c7dc7ddf1e58b4a370551574281c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168786 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 16f990255128ec32996ea92a726ffc34d9ea2fac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168845 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-18annot: add support to import Stamp annotation from PDFTomaž Vajngerl
Stamp annotation shows an arbitrary bitmap in the document, where the most common bitmaps are stamps like "Approved", "Confidential", "Expired", "Sold",... Change-Id: I332e34cbb346a686ee16eac7ca437ec4048e65ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168760 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 66a68fcb5639c3f0e42385fcdb08f16b9c96f243) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168844 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-18annot: add annotation marker for free text annotationTomaž Vajngerl
Added new class PDFAnnotationMarkerFreeText as we need a marker to know if the annotation is a special one. Change-Id: Ica0e72dd6bf62b322676c8e87659a3850074522a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168759 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 0fb1e4e9a74b566fb075a58ae2c7632f2cc068de) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168843 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-13annot: improve PDF annotation export and clean-up PDFNote classTomaž Vajngerl
Add support for exporting more PDF annotation types and props. Prefix member variables in PDFNote class, extract it out of pdfwriter.hxx file into it's own header file. Change-Id: I99fb4cbb0c68fcec6585c9c21d81daaef26344cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168418 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit bd7638485220f17472157a02608e1080c25376cc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168571 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-10Avoid potential negative array index access to cached text.Michael Meeks
if ((nIndex != 0 || nLen != text.getLength()) && !skipGlyphSubsets) seems unlikely to protect us from this: /opt/rh/devtoolset-12/root/usr/include/c++/12/string_view:239: constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; const_reference = const char16_t&; size_type = long unsigned int]: Assertion '__pos < this->_M_len' failed. coolwsd[16958] ... SIG Fatal signal received: SIGABRT code: 18446744073709551610 for address: 0x7300004e16 SalLayoutGlyphsCache::GetLayoutGlyphs(VclPtr<OutputDevice const>, rtl::OUString const&, int, int, long, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/vcl/source/gdi/impglyphitem.cxx:399 GetTextArray(OutputDevice const&, rtl::OUString const&, KernArray&, int, int, bool, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/include/rtl/ref.hxx:128 SwFntObj::GetTextSize(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/fntcache.cxx:766 SwSubFont::GetTextSize_(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/swfont.cxx:1022 SwTextSizeInfo::GetTextSize() const /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/inc/swfont.hxx:314 blind fix - but seeing a lot of these. Change-Id: Icb6ca25e4b8c6ef8a5e5b89dfa01b56bb788378d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168575 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-07if we don't have local help then Help::GetHelpText will be emptyCaolán McNamara
anyway, so we can skip that work on Window::GetHelpText. It might even be that by now all the a11y/extended-tips are in the local .ui files and the whole fallback to local help is redundant and should be removed. But that's not done here. Change-Id: I03b759aba6d1619aff37ded6764fbe3b6ded9555 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168447 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-06-03Fix some macOS memory leaks due to overretaining Objective-C objectsPatrick Luby
Change-Id: If826476ad6c6692d22519f4eb0fb45621240fdbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168202 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-03Related tdf#158914: fix memory leaks by calling (auto)release selectorsPatrick Luby
Found the following memory leaks using Xcode's Instruments application: 1. Posting an NSAccessibilityUIElementDestroyedNotification notification causes [ AquaA11yWrapper isAccessibilityElement ] to be called on the object so mark the object as disposed before posting the destroyed notification and test for disposed in all of the standard NSAccessibility selectors to prevent any calls to likely disposed C++ accessibility objects. 2. In [ AquaA11yWrapper accessibilityHitTest: ], [ AquaA11yFactory wrapperForAccessibleContext: ] already retains the returned object so retaining it until the next call to this selector can lead to a memory leak when dragging selected cells in Calc to a new location. So autorelease the object so that transient objects stay alive but not past the next clearing of the autorelease pool. 3. [ AquaA11ySelectionWrapper selectedChildrenAttributeForElement: ] is expected to return an autoreleased object. 4. [ AquaA11yFactory wrapperForAccessible: ] is not a getter. It expects the caller to release the returned object. 5. CreateNSString() is not a getter. It expects the caller to release the returned string. Change-Id: I824740d7e3851b0c3e31e2c009860aa822c94222 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168034 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins (cherry picked from commit 0735a4306da86c6fa0390b85f1f391ec404b2699) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168057 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-06-03tdf#160884: Apply scale to position of embedded images in Type 3 fontsKhaled Hosny
Regression from: commit bc3f6c3a47411a3b5dafadca4e5c55cd24e30662 Author: Khaled Hosny <khaled@libreoffice.org> Date: Tue Aug 22 10:47:33 2023 +0300 tdf#155610: Workaround Acrobat bug with Type 3 fonts and unusual UPEM Change-Id: I5e352292268d19fb8348a038d251f2d395a0be46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167830 Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org> Reviewed-by: خالد حسني <khaled@libreoffice.org> Tested-by: Jenkins (cherry picked from commit 44f2bc12779645bce1000289caf9c66804ecb14e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167815 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-03Resolves: tdf#157453 support FM_PROP_LINECOUNT for combobox dropdow rowsCaolán McNamara
Change-Id: I3d18ed505c2eea7305903f9a476c332db0148113 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167814 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-06-03tdf#160565 tdf#145735 qt: Avoid native window handles for Qt 6Michael Weghorn
Similar to the tdf#122293 scenario with Qt 5 on Wayland, using native windows causes unresponsive UI even with the xcb Qt QPA plugin when using Qt 6. Therefore, don't call `QWidget::winId()` at all when using Qt 6, but just refuse to resolve a native window handle, the same way that is already done here for the wayland Qt QPA plugin with qt5. Add a comment based on the one originally added with commit 0e3c3b842e14b9646d3697cf1266be21359e0f13 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Sat May 11 21:31:33 2019 +0200 tdf#122293 qt5: Use "alien widgets" by default on Wayland that was later dropped during a refactoring. This code path is triggered when trying to resolve the parent window for a file picker (s. `QtFilePicker::initialize`). In a quick test in a KDE Plasma 5 Wayland session on Debian testing, the modality behavior was unchanged with or without this change in place: * With qt6 xcb, the main window nicely gets grayed out and is unresponsive while the file dialog gets shown when using e.g. "File" -> "Open" in Writer. * With qt6 wayland, the main window is not grayed out and looks more "active" still, but doesn't actually accept keyboard or mouse input. This is basically the same in other Qt/KDE applications, e.g. a self-compiled Kate from git master, so not LO-specific. If resolving the parent for the file picker turns out to be necessary, maybe something similar to what commit commit 3ff4800fe400de916c97f587322104af06cc0879 Author: Caolán McNamara <caolanm@redhat.com> Date: Wed Apr 4 10:22:34 2018 +0100 weld SvInsertOleDlg and weld SfxInsertFloatingFrameDialog and smuggle in the parent widget for the Gtk File dialog via an XWindow interface did for gtk3 might be worth looking into. However, I can at least not reproduce issues like the one described for gtk3 in commit 203d96787969f707c78101be18d51b44ace98f93 Author: Caolán McNamara <caolanm@redhat.com> Date: Mon Jun 21 13:01:52 2021 +0100 give folderpicker an optional parent so, like a file picker, it can make its parent modal while its operating. Otherwise its possible to interact with the parent dialog in undesirable ways, e.g. file, export as, export as epub, the folder picker of 'media directory' with the qt6 VCL plugin even with this commit in place. Another scenario relying on a native window handle is video playback with GStreamer's x11 video sink. That still works for qt5 with the xcb plugin as the handle is still returned for that one. For qt6 with the xcb plugin, that didn't work properly without this commit either (at least not in my tests with current qtbase dev as of commit 70a2e7f32b9f9ce19d1538f14fbde7b0d1e77ffd), s. tdf#145735 comment 7. It's now broken a different way than before (extra windows show up instead of no video being shown). This will be further tracked together with a solution for Wayland in tdf#125219. As a side note, forcing native windows for everything using `QT_USE_NATIVE_WINDOWS=1` as described at [1] causes more sever brokenness with the qt6 xcb plugin (mostly black window in Writer instead of showing the actual content). [1] https://doc.qt.io/qt-6/qwidget.html#native-widgets-vs-alien-widgets Change-Id: I9718c680bd8bc4ff0574f171403d965c1beac781 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167783 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit 2f4103da5625a9b90eb41d5c767a248a8d0b4255) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167813 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-26Fix a memory leakPatrick Luby
CreateNSString() expects the caller to release the returned string. Change-Id: I578488dd99c4c2737894287ab3e597ba8607669e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168040 Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-17tdf#153306 prevent subpixel shifting of X coordinatePatrick Luby
HACK: for some unknown reason, if the X coordinate of the path's bounds is more than 1024, SkBlendMode::kExclusion will shift by about a half a pixel to the right with Skia/Metal on a Retina display. Weirdly, if the same polygon is repeatedly drawn, the total shift is cumulative so if the drawn polygon is more than a few pixels wide, the blinking cursor in Writer will exhibit this bug but only for one thin vertical slice at a time. Apparently, shifting drawing a very tiny amount to the left seems to be enough to quell this runaway cumulative X coordinate shift. Change-Id: Ic1ac8a390df51c4aa1cc3183590dce72059af6b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166766 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 05d3a99aa687ee4e1706f9403651379b7ebdad89) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166722 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-17tdf#161073 handle is supposed to be freed automatically on failureCaolán McNamara
and is since: https://gitlab.gnome.org/GNOME/glib/-/commit/747e3af9987b37847d7d5acbf882d1ee4a6bd91b Change-Id: Ibb648ccf69ff892fc1e2a3c3dc4da1fffd577c92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167468 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-17tdf#160690 set an opaque alpha mask for non-transparent framesPatrick Luby
Due to the switch from transparency to alpha in commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, an empty alpha mask is treated as a completely transparent bitmap. So revert all of the previous commits for tdf#157576, tdf#157635, and tdf#157793 and create a completely opaque bitmap instead. Note: this fix also fixes tdf#157576, tdf#157635, and tdf#157793. Change-Id: Ic2ccad6ab94e4d43b1b66013f85955d474dc0151 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167563 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 2a9eb581f0edfae8123018006df5cc9de1e1fd45) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167674 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-17tdf#160767 skip fix for tdf#155266 when the event hasn't changedPatrick Luby
When scrolling in Writer with automatic spellchecking enabled, the current event never changes because the fix for tdf#155266 causes Writer to get stuck in a loop. So, if the current event has not changed since the last pass through this code, skip the fix for tdf#155266. Change-Id: I97265a7698756c5fb65b6686f6bb77c1caa08862 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167229 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Jenkins
2024-05-17lok: dump more SfxViewShell state, and LOK notifier state on Windows.Michael Meeks
This should help to associate the right view-ids, with the right windows, and help to catch any stray / lingering windows from closed sessions - hopefully. Change-Id: I197a3280d5d2aeddd356ee037c51e4887f43278b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167765 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-11lok: dumpState should truncate very long JSON messages.Michael Meeks
Otherwise we get huge dumps which can overwhelm our logging and hide more useful information, and/or the journal can drop them on the ground. Change-Id: Ie942c70a90a6df60ccd8986444362d622c213e15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167488 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-11lok: Don't dump empty aria properties in every JSON element.Michael Meeks
They simply bloat the json to no benefit if the properties are empty, avoid serializing empty values. Change-Id: I83c780d01820ec39acc85899d45ad9e929ad7e76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167496 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-09jsdialog: enable animation properties in impressSzymon Kłos
to test: 1. click on any shape in Impress 2. go to Animation tab in sidebar 3. "add" animation 4. double-click on added animation on the list Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: I009cbdd295fac4f4533101c89d5c0268fbbe633a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164112 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-05-09lok: don't try to search for legacy label from/toTomaž Vajngerl
Searching for legacy label from/to can take quite some time in complex hierarchies (wallclock timed to 100ms) and this quickly can add up. In case of accessibility checker sidebar with many entries it could add up to 10s or more (depending on the amount of accessibility issues found in the document). The legacy label from/to is not used when we load from .ui file so it is not relevant for online currently. It is only relevant for ui found in extensions or starbasic ui. Also avoid making a copy of the vector of mnemonic label for no particular reason. Change-Id: I72002e6440a06f6e8548b7bddb46c3ab283ea283 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167347 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-09update crcs for --enable-cairo-rgba caseCaolán McNamara
Change-Id: If0588a018564a708361b0246b294520ac5d2d1db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167314 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-05-09jsdialog: enable Object Name and Description dialogSzymon Kłos
and send uno command enable/disable status Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: Id643a27308809b6960be72fb368b9f078ff9cf6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167296 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-08tdf#160622: Let SalLayout::GetBoundRect return basegfx::B2DRectangleMike Kaganski
This avoids premature rounding in TextLayouterDevice::getTextBoundRect. The box in D2DWriteTextOutRenderer::performRender needs to be expanded to allow room for the line width (which now will be guaranteed on all sides; previously, the rounding could happen to give no room on some side, even prior to commit 8962141a12c966b2d891829925e6203bf8d51852). Fixes some lines partially cut off in smaller text (or zoomed out). Change-Id: I07335136021f894cf045363b4d736bfab06c64d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166236 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/+/167014 (cherry picked from commit aa2df54f37926cf95261eefade1b87da3229cfd7)
2024-05-08qt: Guard clipboard mime data with SolarMutexMichael Weghorn
Most of the access to the QtClipboardTransferable mime data happens exclusively on the main thread, with the solar mutex held. However, `mimeData()`, called from `QtClipboard::getContents` didn't ensure that yet, so as Michael Stahl pointed out in [1], commit 1db5b87fe69c2375f1d66974dafcd563303c76db Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Feb 13 13:23:17 2024 +0100 tdf#156562 qt: Sync with system clipboard content if necessary introduced a data race by allowing to set new mime data. Introduce a new `QtClipboardTransferable::hasMimeData(const QMimeData* pMimeData)` that guards access to the mime data with the solar mutext as well and use that instead, so all access to the `QtClipboardTransferable` mime data is now guarded by the solar mutex. Also add an explicit note for the mime data getter/setter in the `QtTransferable` base class that subclasses allowing to update mime data are responsible for preventing data races. [1] https://gerrit.libreoffice.org/c/core/+/166141/comment/fe75f418_40c1b622 Change-Id: I01dbbb0b37a4c6ad06b4d3001ecce8b0260eb32e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166750 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 621cfc0e4120ab2b381b54268fe39bd19257df9b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166892 (cherry picked from commit 8fbff7fa22cc50132f09442e338fc71434c4a77a)
2024-05-08qt: Avoid race on QtTransferable memberMichael Weghorn
As Michael Stahl pointed out in [1], there is a data race on `QtTransferable::m_bProvideUTF16FromOtherEncoding`. Adjust the code a bit to no longer make use of the member and drop it. The QtClipboard case was fine because both methods making use of the member always run in the main thread with the SolarMutex held. For anything else, the `m_pMimeData` doesn't change don't change, so access to that member doesn't need to be guarded by a mutex and thus dropping `QtTransferable::m_bProvideUTF16FromOtherEncoding` should be sufficient to address that race at least. (Another one will be addressed separately.) [1] https://gerrit.libreoffice.org/c/core/+/166140/comment/bc1c9f11_6ad630b7 Change-Id: Iaf2fb460b129493f5627c95b6968aa57da368b4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166749 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit 8939999deef4f77f19d7b2d31df09260a34affe1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166891 (cherry picked from commit 28b2020f276f12561252ea3a42555bfe88a0c1b6)
2024-05-08tdf#156562 qt: Sync with system clipboard content if necessaryMichael Weghorn
If the `QtClipboardTransferable`'s mime data gets out of sync with the system clipboard's one, no longer cease operation and stop reporting any transfer data, but sync with the clipboard data, i.e. update the mime data with those currently in the system clipboard. For the "Paste Special" dialog with qt6 on Wayland (see tdf#156562), an external clipboard update gets triggered between the point in time when the std::shared_ptr<const TransferableDataHelper> aDataHelper in the `SID_PASTE_SPECIAL` case in `SwBaseShell::ExecClpbrd` gets assigned and when the callback set via `pDlg->StartExecuteAsync` gets called, even if there was no user interaction with the system clipboard at all. This however meant that the `aDataHelper` used in the callback would no longer return any transfer/mime data, so pasting wouldn't work. Handle that case by updating the `QtClipboardTransferable` mime data with the current system clipboard's data, but keep emitting a warning at least. As a consequence, opening the "Paste Special" dialog, then copying something else to the clipboard, then confirming the dialog will copy the newly copied data rather than what was in the clipboard when the dialog was initially started. That's the same for gtk3 already, but on Windows, the original clipboard content would still be pasted. (Retrieving the clipboard content anew in the callback using `TransferableDataHelper::CreateFromSystemClipboard` instead of passing the original `aDataHelper` into the callback would have a similar effect. However, on other platforms, reusing the previously copied data from the clipboard when the actual system clipboard was changed in between may be what's desired.) The observed extra/unexpected clipboard change event may be related/similar to what the following commit was addressing for the case of LO itself being the clipboard owner: commit 71471a36b125f6bdc915d5dbcae92ebcaa7ff5a4 Date: Tue Apr 6 01:41:08 2021 +0200 tdf#140404 Qt ignore "unchanged" clipboard events LO gets a Qt signal on all clipboard changes. For X11 you get one signal when you set the clipboard. Anything else normally signals lost of clipboard ownership. But on Wayland LO somehow gets a second notification without any actual change. AFAIK it's not triggered by any LO actions and isOwner still indicates, that LO has the ownership. This breaks the single notification assumption, the code was relying on. (...) Backtrace showing how the clipboard update gets triggered (with mode `QClipboardMode::Clipboard`, not just `QClipboardMode::Selection`; qtbase dev as of 0d0810e2dcc8a9ee28935af5daadc2ef36ed25a2): 1 QtClipboard::handleChanged QtClipboard.cxx 156 0x7f6284c7a7a8 2 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard:: *)(QClipboard::Mode)>::call(void (QtClipboard:: *)(QClipboard::Mode), QtClipboard *, void * *)::{lambda()#1}::operator()() const qobjectdefs_impl.h 153 0x7f6284c8450f 3 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard:: *)(QClipboard::Mode)>::call(void (QtClipboard:: *)(QClipboard::Mode), QtClipboard *, void * *)::{lambda()#1}>(void * *, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard:: *)(QClipboard::Mode)>::call(void (QtClipboard:: *)(QClipboard::Mode), QtClipboard *, void * *)::{lambda()#1}&&) qobjectdefs_impl.h 72 0x7f6284c8500b 4 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QClipboard::Mode>, void, void (QtClipboard:: *)(QClipboard::Mode)>::call qobjectdefs_impl.h 152 0x7f6284c8457f 5 QtPrivate::FunctionPointer<void (QtClipboard:: *)(QClipboard::Mode)>::call<QtPrivate::List<QClipboard::Mode>, void> qobjectdefs_impl.h 200 0x7f6284c833ee 6 QtPrivate::QCallableObject<void (QtClipboard:: *)(QClipboard::Mode), QtPrivate::List<QClipboard::Mode>, void>::impl qobjectdefs_impl.h 571 0x7f6284c81f81 7 QtPrivate::QSlotObjectBase::call qobjectdefs_impl.h 487 0x7f62841b863f 8 doActivate<false> qobject.cpp 4116 0x7f628425772e 9 QMetaObject::activate qobject.cpp 4176 0x7f628424cdef 10 QClipboard::changed moc_qclipboard.cpp 182 0x7f62831e9fcc 11 QClipboard::emitChanged qclipboard.cpp 558 0x7f62831e9bc1 12 QPlatformClipboard::emitChanged qplatformclipboard.cpp 89 0x7f628324ed69 13 QtWaylandClient::QWaylandDataDevice::data_device_selection qwaylanddatadevice.cpp 295 0x7f6281b8eaf1 14 QtWayland::wl_data_device::handle_selection qwayland-wayland.cpp 985 0x7f6281b7389a 15 ?? 0x7f629681a40e 16 ?? 0x7f629681971d 17 ffi_call 0x7f6296819ef3 18 ?? 0x7f629955c921 19 ?? 0x7f6299558c09 20 wl_display_dispatch_queue_pending 0x7f629955a5ac 21 QtWaylandClient::EventThread::dispatchQueuePending qwaylanddisplay.cpp 227 0x7f6281afd5f4 22 QtWaylandClient::EventThread::readAndDispatchEvents qwaylanddisplay.cpp 109 0x7f6281afd124 23 QtWaylandClient::QWaylandDisplay::flushRequests qwaylanddisplay.cpp 508 0x7f6281af5b98 24 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *)::{lambda()#1}::operator()() const qobjectdefs_impl.h 153 0x7f6281b13ebb 25 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *)::{lambda()#1}>(void * *, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *)::{lambda()#1}&&) qobjectdefs_impl.h 72 0x7f6281b151f0 26 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay:: *)()>::call(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *) qobjectdefs_impl.h 152 0x7f6281b13f1c 27 QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay:: *)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay:: *)(), QtWaylandClient::QWaylandDisplay *, void * *) qobjectdefs_impl.h 200 0x7f6281b11250 28 QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay:: *)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 571 0x7f6281b0d5e3 29 QtPrivate::QSlotObjectBase::call qobjectdefs_impl.h 487 0x7f62841b863f 30 QMetaCallEvent::placeMetaCall qobject.cpp 650 0x7f6284243bf9 31 QObject::event qobject.cpp 1447 0x7f6284245095 32 QApplicationPrivate::notify_helper qapplication.cpp 3298 0x7f62823a696c 33 QApplication::notify qapplication.cpp 3249 0x7f62823a677d 34 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1138 0x7f62841b1162 35 QCoreApplication::sendEvent qcoreapplication.cpp 1581 0x7f62841b1d0b 36 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1936 0x7f62841b33c4 37 QCoreApplication::sendPostedEvents qcoreapplication.cpp 1770 0x7f62841b255e 38 postEventSourceDispatch qeventdispatcher_glib.cpp 244 0x7f62846384ac 39 ?? 0x7f628b9111f4 40 ?? 0x7f628b914317 41 g_main_context_iteration 0x7f628b914930 42 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 394 0x7f6284638d41 43 QPAEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 87 0x7f628395c418 44 QtInstance::ImplYield QtInstance.cxx 453 0x7f6284cd9a40 45 QtInstance::DoYield QtInstance.cxx 464 0x7f6284cd9b69 46 ImplYield svapp.cxx 390 0x7f628f739c32 47 Application::Yield svapp.cxx 474 0x7f628f73a9d0 48 Application::Execute svapp.cxx 368 0x7f628f739925 49 desktop::Desktop::Main app.cxx 1614 0x7f6299037216 50 ImplSVMain svmain.cxx 229 0x7f628f758df4 51 SVMain svmain.cxx 261 0x7f628f759109 52 soffice_main sofficemain.cxx 94 0x7f62990a4367 53 sal_main main.c 51 0x56508cf899d4 54 main main.c 49 0x56508cf899ba ------------------------------------------------------------------------------------- NOTE: This libreoffice-24-2 backport also includes a cherry-pick of the follow-up commit commit 8d98f231fa2d3f4386a842d0f45a9ceeea4ab8e1 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Feb 15 08:52:25 2024 +0100 tdf#156562 qt: Don't crash on null clipboard content squashed into this commit. Change-Id: I1720d8acd72dca4ef6bc32935b920b2c1ff4d8f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163304 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 1db5b87fe69c2375f1d66974dafcd563303c76db) (cherry picked from commit 8d98f231fa2d3f4386a842d0f45a9ceeea4ab8e1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166141 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 2e4a593abc2fb82f7d26f73db71bb7fdd68add35)
2024-05-08tdf#156562 qt: Don't cache supported mime types/data flavorsMichael Weghorn
Drop the optimization to remember the supported data flavors in `QtTransferable::m_aMimeTypeSeq` and evaluate them each time instead. This is in preparation of allowing to change the mime data in an upcoming commit. Another alternative would be to (re-)calculate `QtTransferable::m_aMimeTypeSeq` only at the point in time that the mime data are set. Keep that in mind for further consideration in case this should ever become relevant from a performance perspective. Change-Id: Ic1792f6c2a19bf4c8f642a6288e9f3413fe7c893 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163303 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit ee03b3a7e85c7bb293e161cc6ea7fe7bb3bc9240) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166140 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit fedd7587477ae7c2b3f3cb350db3aeedbbb20f1c)
2024-05-08tdf#160831 only set outside color to black for alpha masksPatrick Luby
The outside color still needs to be white for the content so only apply the fix for tdf#157795 to the alpha mask. Change-Id: I7486b2c9062ca96bf127f2bce6b1bd5e65d00ff6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166806 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 5425103fb5a09c7e5e56d077260523438c593e21) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166727 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit e1a5213427a876ae609635671f6fd6186aea1e67)
2024-05-08tdf#160714 use crop box for bounds of embedded PDF objectPatrick Luby
If there is no crop box, fallback to the media box just to be safe. Change-Id: I29f99a43e550cf09a1534c0aa01ffd6a55536fb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166544 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit 4b31f87e918c38a7eb30ceb85563a5c98b426da5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166670 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit ca574d5eef68af970cb49f90c7fc4fe813c9009c)
2024-05-08tdf#160469 Ctrl+Alt+F4 is marked reserved, but doesn't do anythingNoel Grandin
this used to be SV_SHORTCUT_DOCKUNDOCK, which was introduced in commit b342b183aaea042ef0e6e1c75304072cb4e1375a Author: Rüdiger Timm <rt@openoffice.org> Date: Tue Jul 24 09:03:18 2007 +0000 INTEGRATION: CWS mergesvp (1.1.2); FILE ADDED I assume this was a solaris or something similar system hotkey, so remove it as no longer being relevant. Certainly nothing inside the vcl code is handling it specially. Change-Id: I80b9d293e7db42e1ff523319862d44b93d3231c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166502 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins (cherry picked from commit bced98442d5e9c4b55ec6d4e5da3d549f8141359) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166513 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 6b9cd13f502363c1784cdcb4538b6409a3a14c83)
2024-05-08tdf#160431 Inverts webp file image when insertedNoel Grandin
regression from commit 81994cb2b8b32453a92bcb011830fcb884f22ff3 Author: Noel Grandin <noelgrandin@gmail.com> Date: Fri Apr 16 20:33:10 2021 +0200 Convert internal vcl bitmap formats transparency->alpha (II) Change-Id: I3b2959c99a2e18c3972920f8ca86072566d54225 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166450 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit c503b6eef32055f75dc9cf761bd20eda4f161dd4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166434 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 414d58e8fe8ecf545549dc960e1599b1035b7564)
2024-05-02jsdialog: enable a11y checker sidebarTomaž Vajngerl
Change-Id: I46f276f16ded08a55b6672d92c39924ec3c4a628 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166880 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>