summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2023-08-09vcl: Organize CoreText font code a bitKhaled Hosny
The code was all over the place with classes split between files or grouped in some files and I couldn’t make a head or tail of it. Move each class to a dedicated source/header file. Change-Id: I35daa05b4684c13339c637819dc30fa47a60cf65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155503 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-09ofz: Integer-overflow Tell() returns sal_uInt64 not sal_Int32Caolán McNamara
Change-Id: Ib17cc045316d468be306a678ddb9b2b4b08f6f4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155497 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-08loplugin:redundantfcastStephan Bergmann
Change-Id: I6b19cbd146de479754b9e8833076ed7f077c87f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155443 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-07ofz#57493 TimeoutCaolán McNamara
the oss-fuzzer has gotten itself into that nasty state where it can't reproduce the original problem (because its fixed) but keeps finding other unreproducible ones that don't allow the fixed one to get closed. Disable this part of the fuzzer for a while so the original issue can close and then we can reenable and new findings will be recorded as a new fresh bug. Change-Id: Ie73c5c50a850a0ac6ea51345f6478f5750f8248e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155385 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-07ofz: Use-of-uninitialized-valueCaolán McNamara
For tdf#149417 we generally allow one short read for fidelity with the old parser that this replaced. But don't allow that for new format variations that the old parser didn't handle so we don't take libtiff into uncharted territory. Change-Id: I8d2d6954257a63a56d201eaed6510fcc38f9a5ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155384 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-07tdf#147906 used std::hypot for Pythagorean additionsahil
Change-Id: I8a926c621dee746e47ebdaaff4e0c558d7a7e6a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155073 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-08-06increase max_len for fodt2pdffuzzerCaolán McNamara
very little output from this fuzzer to date Change-Id: I1bd0eaf983c3c88f620803bbd85f464923d6484d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155374 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-06tdf#156540 invert alpha mask when drawing spritesThorsten Behrens
Due to the switch from transparency to alpha in commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, a sprite's alpha mask needs to be inverted. Additionally, fixes an oversight in vcl's alpha.cxx, where manual blend math got mangled, also in 81994cb2b8b32453a92bcb011830fcb884f22ff3. Change-Id: I8ebbbc7fe624d8dfc8121d8814d30875c498870d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155378 Reviewed-by: Patrick Luby <plubius@neooffice.org> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-04gtk3 a11y tests: Increase DBus timeoutColomban Wendling
We apparently get recurrent spurious timeout failures in the CI related to DBus timeout, so increase that value. The chosen value is a bit arbitrary, but is below the maximum recommended by the documentation (even though the recommendation hardly applies to our use case), and more than 3 times larger than the default. That will hopefully be enough. Change-Id: I244f711f46353009743015d00b303aeb87332936 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155310 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-03tdf#114192: Speed up populating font list when FontConfig is usedKhaled Hosny
Instead of calling psp::PrintFontManager::analyzeFontFile() get the font names and metadata, use the values taken from FontConfig which nowadays provides everything we need. This speeds up startup time significantly, especially when there is a large number of fonts installed. This also uses the correct style name, we were mixing name id 1 (family) with name id 17 (typographic subfamily) while we should have been using name id 2 (subfamily). The name ids 1, 2 and 16, 17 should be used together not mixed and matched, and we need the former because it is compatible with the R/I/B/BI model we (and the other office suite) use. So instead of "Foo Black, Black", we now get "Foo Black, Regular". On a system with 6616 fonts installed. Before: $ export OOO_EXIT_POST_STARTUP=1 $ time ./instdir/program/soffice.bin --headless real 0m4.744s user 0m1.672s sys 0m2.547s after: $ export OOO_EXIT_POST_STARTUP=1 $ time ./instdir/program/soffice.bin --headless real 0m1.377s user 0m0.563s sys 0m0.297s Change-Id: Ib7e358f16530c2daabc7ef677ef6a148fdf08e6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155313 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-03Raise minimum FontConfig version to 2.12.0Khaled Hosny
I want to use FC_SYMBOL and this the first stable version to have it, and our baseline has 2.13.x already. Change-Id: I606b99190020085cdf20a52788a021543c365fca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155312 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-03SAL_WARN->SAL_INFONoel Grandin
This warning fires all the time, but does not seem to indicate any real problem. It dates back to commit acea502ce05285043c2ebc12de6218d7ea59fa7e Author: Vladimir Glazounov <vg@openoffice.org> Date: Tue Aug 19 08:58:56 2008 +0000 INTEGRATION: CWS dba31a (1.240.62); FILE MERGED 2008/07/30 12:08:05 fs 1.240.62.3: RESYNC: (1.241-1.242); FILE MERGED 2008/07/16 06:15:45 fs 1.240.62.2: RESYNC: (1.240-1.241); FILE MERGED 2008/06/09 10:20:50 oj 1.240.62.1: #i88506# insert new flag to offer word boundary breaks Change-Id: I65b62e1c7851ef3e3443f02ccd9f5f609f645341 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155280 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-03Silence another C++20 -Wdeprecated-volatile with old GLibStephan Bergmann
...that hit with patch set 3 of <https://gerrit.libreoffice.org/c/core/+/155121/3> "Bump baseline to C++20", > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/vcl/unx/gtk3/customcellrenderer.cxx:29:1: error: use of result of assignment to object of volatile-qualified type 'volatile gsize' (aka 'volatile unsigned long') is deprecated [-Werror,-Wdeprecated-volatile] > G_DEFINE_TYPE(CustomCellRenderer, custom_cell_renderer, GTK_TYPE_CELL_RENDERER_TEXT) > ^ > /usr/include/glib-2.0/gobject/gtype.h:1595:43: note: expanded from macro 'G_DEFINE_TYPE' > #define G_DEFINE_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {}) > ^ > /usr/include/glib-2.0/gobject/gtype.h:1737:117: note: expanded from macro 'G_DEFINE_TYPE_EXTENDED' > #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() > ^ > /usr/include/glib-2.0/gobject/gtype.h:1985:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_END' > g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ > ^ > /usr/include/glib-2.0/glib/gthread.h:257:17: note: expanded from macro 'g_once_init_leave' > (void) (0 ? *(location) = (result) : 0); \ > ^ (<https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/145888/>), but which is also addressed by upstream <https://gitlab.gnome.org/GNOME/glib/-/commit/fab561f8d05794329184cd81f9ab9d9d77dcc22a> "gobject: Drop use of volatile from get_type() macros" Change-Id: I9f7e45133cb15a71cba838190454a809488142d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155277 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-02tdf#156525 Save as > HTML loses drawing object as invalid gifNoel Grandin
regression from commit 1c7cbd685633d44eac554629572f3401c450f855 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Sun May 7 16:56:21 2023 +0200 use AlphaMask for variables when calling GetAlphaMask where after my change, the code is now calling Bitmap::Replace(AlphaMask,...) instead of Bitmap::Replace(Bitmap,...) and those two methods do quite different things. However, we have to (*) restore Bitmap::Replace(Bitmap,...) which was removed in commit 8270eb5d5600cc84dbf5f0e339f90c4519ef88bb Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri May 19 13:35:31 2023 +0200 loplugin:unusedmethods (*) restore BitmapWriteAccess::SetPaletteEntryCount which was removed in commit 74cd0d0b281f8df75612bfb600df2eae62c4d21d Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Jun 29 13:53:30 2023 +0200 loplugin:unusedmethods (*) Invert the mask/alpha layer, since after 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) we are dealing with real alpha, and not transparency. Also add an assert in GIFWriter::WriteAccess, since it is a logic error to get here and have the image in the wrong format. Change-Id: I0e09b3ca82af0bd5b58d80e0a6eac4c7bdf7c48e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155254 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02tdf#156514 Check spelling red underlines are goneNoel Grandin
Regression from commit af34f4ea62d8aabbab5d4028034aa2482c16fe8a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Jul 6 10:52:07 2023 +0200 avoid skia assert and slow-path Change-Id: Ib81c7d341a88e72fb0a48a39703485261ac6679c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02Fix gtk4: conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle'Julien Nabet
Following b6b26421a1029b18b48b69dbdac4bb70fb622604 "split Point/Size/Rectangle into AbsoluteScreenPixel* types" I got this error: In file included from /home/julien/lo/libreoffice/vcl/unx/gtk4/gtksalmenu.cxx:10: /home/julien/lo/libreoffice/vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:470:22: error: no viable conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle' tools::Rectangle aFloatRect = FloatingWindow::ImplConvertToAbsPos(xParent, rRect); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/julien/lo/libreoffice/include/tools/gen.hxx: 879:23: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'AbsoluteScreenPixelRectangle' to 'const tools::Rectangle &' for 1st argument class SAL_WARN_UNUSED Rectangle final : public RectangleTemplate<Rectangle, Point, Size> ^ /home/julien/lo/libreoffice/include/tools/gen.hxx:879:23: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle &&' for 1st argument /home/julien/lo/libreoffice/include/tools/gen.hxx:888:24: note: explicit constructor is not a candidate constexpr explicit Rectangle(const AbsoluteScreenPixelRectangle & r); Change-Id: I3e77ce65ba1c5f2ab8cad818f8158b65abe510eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155214 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2023-08-02vcl: Simplify analyzeSfntFamilyNameKhaled Hosny
We only need a family name not a set of name, and drop a work around for a broken font that is probably long obsolete. Change-Id: I219ec58e65826250d08b3e88462fdcc1e2e2b7f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155195 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop the PrintFont -> FastPrintFontInfo -> FontAttributes indirectionKhaled Hosny
We want FontAttributes at the end, so lets have them up front instead of the intermediary structures. Change-Id: Iafdf17f4a7615f0c3d972e6080cebea0183840b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155191 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop unused FontAttributes::GetMapNames()/AddMapName()Khaled Hosny
Change-Id: I50e06ad24e95cab39009a8affb876ebc920c1c11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155168 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop unused PhysicalFontFamily::GetAliasNames()Khaled Hosny
Change-Id: Ide306f0656230460f976daef0ed213f734136030 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155167 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Fold two static method into their only call siteKhaled Hosny
Change-Id: Ifa943bd658892d4fcf8e47a6abfa245fbcaa78a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155161 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02split Point/Size/Rectangle into AbsoluteScreenPixel* typesNoel Grandin
to attempt to make it obvious in code what kind of coordinate system we are dealing with. The idea is that by doing this, the compile-time type checking will flush out inconsistencies between different code. I started with vcl::Window::OutputToAbsoluteScreenPixel and worked outwards from there. Change-Id: Ia967d7a0bb38886695f3a761b85c8b9340ddb1c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154676 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02std::set->o3tl::sorted_vector for m_aFontFileToFontIDNoel Grandin
sorted_vector is perfect for small sets of small objects, and fontId is an int. Change-Id: I6955ae1a8793c47cf79b3080e566d7b50896b3e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155192 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-01Fix reversed expected and actual unit test resultsKhaled Hosny
Change-Id: Ie7eaec7ce9ad6f85b02edc831f1d138f45c18220 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155152 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-01Fix typoAndrea Gelmini
Change-Id: Ib15fe6d0d9df549a9c7952494bfca78ec66b7f8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155160 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2023-08-01tdf#156100 tdf#156561 Revert to previous behavior for gtk popupsMichael Weghorn
In order to fix announcement of items in the popups with at least NVDA on Windows, commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb Date: Wed Mar 15 17:00:27 2023 +0100 tdf#140762 tdf#152671 Make dock win visible before showing popup made sure that the dock window is made visible before the popup is shown. That's problematic for the gtk implementations, though. On issue was addressed with commit 70642bb7afd2cee6f7ae6eff2936a35978bd0597 Date: Thu Apr 6 15:07:15 2023 +0100 tdf#154470 try moving the Show of the client to after the float positioning , but there's still an issue for the RTL case (tdf#156100). To unbreak that while leaving the announcement with NVDA working properly, effectively revert to the original behavior for the gtk VCL plugins (which have their own implementation for popup handling) for now. Further analysis of the root causes is planned in the context of tdf#156561, so hopefully the code paths can be unified again in the future. (One issue is addressed by Change-Id I62ab32342ef67c770ced9f0d2be867dc9355bd4a, "tdf#156561 wina11y: Handle CHILD event", but that's not enough by itself.) Change-Id: Ie67bded6c380695866d5343dab9d3f563ada057a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155125 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-01tdf#156376 qt: Open help for focused native menu entry on F1Michael Weghorn
In order to allow have pressing F1 (`QKeySequence::HelpContents`) open the corresponding help entry for the currently selected menu entry, connect to the signal that gets emitted when a menu entry is selected (`QAction::hovered`) and remember its help ID. Register the F1 shortcut for the menu and connect its `activated`/`activatedAmbiguously` signal with a slot that opens the help for the current/ last selected menu entry. Change-Id: I24eec4806e5a202052a49c239e4836b92c9f0228 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155055 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-31tdf#156230 one more unused pieceNoel Grandin
Change-Id: I903c55b1f4718c99269460a940be86cad95d11ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155082 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-31qt: Drop unused QtMenu::adjustButtonSizes declarationMichael Weghorn
It was only declared and never defined ever since it was added in commit 9ea767cb568cef1b142190d2adb0e301baa382e2 Date: Thu May 26 13:48:38 2022 +0200 tdf#132350 Qt implement SalMenu button interface Change-Id: Ic097dae56a886e70438c25950e4cbaa0d954e85d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155056 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-31all drawPolyPolygon variants return true nowCaolán McNamara
since: commit 4998de76ed1da4039e30718941d50d6f1dfe4f82 Date: Sun Jul 30 07:40:48 2023 +0000 tdf#156230: Drop freshly unused GenPspGfxBackend Change-Id: I7fc2a068f807777ed392c5d58772d130bf7f51c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155076 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-31supportsOperation OutDevSupportType::B2DDraw is always true nowCaolán McNamara
since: commit 4998de76ed1da4039e30718941d50d6f1dfe4f82 Date: Sun Jul 30 07:40:48 2023 +0000 tdf#156230: Drop freshly unused GenPspGfxBackend Change-Id: I1adc30a60aec0c5aab9289e9c0505d1dbad10631 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155074 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-31tdf#156230 remove now unused various bit and piecesNoel Grandin
Change-Id: I0ad88d402329bbc6882f53f6c20c22b97189a27f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155077 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30Drop freshly unused PrintFontManagerKhaled Hosny
Change-Id: If4cec80eaf1301907d144ecb8518a4de5acdeefb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155070 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30Drop freshly unused font subsetting codeKhaled Hosny
These output font formats were for PostScript that is now gone. Change-Id: Ib29f921fe25432aaa558ba842ee77fe1e8023d47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155069 Reviewed-by: خالد حسني <khaled@libreoffice.org> Tested-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Drop freshly unused PSLevel settingKhaled Hosny
Change-Id: I9331b5532f8066f7d13815487c7af0e7fd37e54f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155068 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Drop freshly unused PrinterJob and PrinterGfxKhaled Hosny
Change-Id: I5149fb447e76044e7f4bfdd9a79ee3b454859375 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155065 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Drop freshly unused GenPspGfxBackendKhaled Hosny
Change-Id: Idfc4364b99ed605462aae58391e98960be6021b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155064 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Use SvpGraphicsBackend in GenPspGraphicsKhaled Hosny
We no longer draw to PostScript, so old backend is unneeded. Change-Id: I069ce735b303721be7de6abf69aa26c1b25a9107 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155063 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Use CairoTextRender in GenPspGraphicsKhaled Hosny
We no longer draw to PostScript, so old layout implementation is unneeded. Change-Id: Ifd007f8dd7794e348abb863c1c36d5c79ac7e0e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155062 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Drop freshly dead PspSalPrinter codeKhaled Hosny
Change-Id: I272c8f3a4d70ef9d5d03eecc8c91ee8423c52ccc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154976 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Drop PDFDevice handlingKhaled Hosny
Change-Id: I53759eb6025a4fc7e1319d0d1e7b3072edde93c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154975 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156230: Deprecate and stop using PDFAsStandardPrintJobFormatKhaled Hosny
PDF is the only supported printing format (on Unix) going forward. Change-Id: I1bd442bac370b89a77e2035d4c17bfc43a869ab1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154974 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-30tdf#156528: Fix handling PDF page scaling factor after large pagesMike Kaganski
The map mode wasn't set when current page's user unit was 1, which meant that it used the unchanged value from the previous page, where it could be different. Change-Id: Id1f1515dceac25cddc12081a86fabf8b32d633f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155025 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-30tdf#107612: Include NNBSP and Mongolian characters in the same fallback runKhaled Hosny
When a Mongolian character is preceded by a Narrow No Break Space (NNBSP), it is used to trigger special letter forms, but when we do font fallback NNBSP is always taken from the main font (HarfBuzz synthesises it when missing from the font, so we almost never use font fallback for it). We now check if the start of the fallback run is a Mongolian character and the previous is NNBSP and extend the fallback run to include it. Change-Id: I7607dba37ee51ff62bc9e86c3dbc555cd77e8d5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155060 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-28Fix typoAndrea Gelmini
Change-Id: I1973ac5efd12b2071a92a97d8d669f1e46b9c594 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155020 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-07-28Fix typoAndrea Gelmini
Change-Id: Ia8d0859088614c29ae358fed46d0c750d5a54e81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155023 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-07-28tdf#104382 - Menus should be disabled when they have no enabled submenusBalazs Varga
Disable menu elements if they only have disabled submenu elemets. TODO: GTK3 Change-Id: I83cdc58846afd61719ceeba9f993df894ce6fd01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154938 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-07-27tdf#156459: fix WM_UNICHAR implementationMike Kaganski
It was implemented in commit c62f48790047014d7d718f949ef6298961100e6f (INTEGRATION: CWS vcl07 (1.89.2.5.20); FILE MERGED, 2003-04-11), but handling of non-BMP codepoints was done incorrectly: high surrogate was calculated, but not used; and SALEVENT_KEYINPUT / SALEVENT_KEYUP pair used a default value of the SalKeyEvent's mnCharCode. Then the unused variable, and the macro taking its value, were commented out in commit fd3e69a1c0d311515eb8db92dd1a72657b405a25 (INTEGRATION: CWS warnings01 (1.125.6); FILE MERGED, 2006-06-19). I have no idea if WM_UNICHAR is used in the wild, but *some* sources suggest that some third-party IMEs could use it [1]; so just fix it. [1] http://archives.miloush.net/michkap/archive/2012/05/21/10308135.html Change-Id: I58190afd9fe295e62cb08acaefd32e99c1f383bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154996 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-27pack the MapMode::ImplMapMode structNoel Grandin
and move the hot fields to the front, since we hit this data fairly hard Change-Id: I852bd64557d586bc73ea64cdce9f5004e64dea93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154972 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-27vcl gtk3: Introduce AT-SPI2 tests for the GTK3 accessibility layerColomban Wendling
Add tests for the GTK3 accessibility platform layer. These tests compare the internal LO representation with what is visible to the platform, and thus the user's accessibility tools. In most cases the tests are fairly trivial as LO's internals are not far off AT-SPI2's expectations. There are however notable exceptions like for example the text attributes, that have a wildly different representation and require more complex checks matching what LO's platform layer does, the other way around. These tests use libatspi2 directly, but as the C API is awful to work with regarding resource management, there are wrappers to handle the complexity using RAII. The resulting API is fairly trivial to use. As these tests require using the GTK3 VCL plugin and for the a11y tree to be visible to AT-SPI2, they are run under XVFB using a separate dbus session through dbus-launch. Working on this has already lead to reporting and/or solving some issues: * https://gerrit.libreoffice.org/c/core/+/151303 * https://gerrit.libreoffice.org/c/core/+/151650 * https://gerrit.libreoffice.org/c/core/+/152456 * https://gerrit.libreoffice.org/c/core/+/152457 * https://bugs.documentfoundation.org/show_bug.cgi?id=155625 * https://bugs.documentfoundation.org/show_bug.cgi?id=155705 * https://gerrit.libreoffice.org/c/core/+/152748 Only a subset of the a11y APIs are covered for the moment, but the current state should make it easy to extend upon. Change-Id: I1a047864ce8dc1f1bc3056ad00159f7fd5e5b7d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153069 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>