summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-22tdf#103480 sc: fix lost hyperlink at merging an empty cell with its cellCzeber László Ádám
Merging a cell containing a hyperlink with an empty cell resulted the loss of the hyperlink, i.e. only the text content was kept. Change-Id: I5148ce55157e3ad7926f5b5a82a682b837a784ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154520 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org>
2023-08-22tdf#155610: Workaround Acrobat bug with Type 3 fonts and unusual UPEMKhaled Hosny
Adobe Acrobat seems to have a bug with Type 3 fonts with unusual UPEM, the common 1000 and 2048 UPEM work fine, but Sitka has 2250 UPEM and Acrobat handles the advance widths in this case incorrectly and everything gets cramped up with gaps when we re-start glyph positioning. Workaround this by always using 0.001 scale in FontMatrix (equivalent to 1000 UPEM) and scale everything if the font’s UPEM is different. Change-Id: I80d25a16456f04bb00304b22b967688fa8260a83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155935 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-22tdf#137523 sw: layout: fix text below tables in footerMichael Stahl
In the footer, the text frames below a table have a very small height and are effectively invisible. This is because the JoinLock in SwLayAction::FormatLayoutTab() causes SwTabFrame::MakeAll() to return early, which is called for every cell frame in the table, and which would move the table up the page in MakePos(), by calling SwHeadFootFrame::Format(). (regression from commit cc5916cd314a27b0cc99560ab887480026630a95) Change-Id: I4add9fdd73ad3756000969af20ebf758025a0ada Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155902 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-08-22vcl: Fix dumping meta file layout flags to XMLKhaled Hosny
These are bit flags, so we were always writing #0000, so now it does bitwise check for the flags and while at it write the names of the flags not the numeric values. Change-Id: I13cae38c0e549b2da1f834a264e3a3255bfa5c5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155793 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-22Related: ofz#57493 TimeoutCaolán McNamara
restore this now that ofz has closed ofz#57493 and has reset Change-Id: Ibf5545d1f499e1c986a8242eb501ac870a7a6d72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155879 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-22tdf#156853: Fix PDF export of bitmap color fontsKhaled Hosny
Move the alpha inversion down to createBitmapEmit() so that it gets applied to any bitmap embedded in the PDF, especially since embedded color bitmap glyphs don't go through the higher level code path. Regression from: commit 81994cb2b8b32453a92bcb011830fcb884f22ff3 Date: Fri Apr 16 20:33:10 2021 +0200 Convert internal vcl bitmap formats transparency->alpha (II) Change-Id: I68601a7a0d9ac01f5e8054f074f8e18fcbdea1be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155930 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-22tdf#146619 Remove unused includes from sal/qaGabor Kelemen
also drop now-unused osl_Condition_Const.h Change-Id: I40beb5b1ad49c126a126bb444d5f66703664d56d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155820 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-22sw: document SwFormatLayoutSplitMiklos Vajna
Here layout means a table, given that rows have a dedicated SwFormatRowSplit. Change-Id: I02255e2b787923ad56a9bfc8b7e7e8b02d8551cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155903 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-21Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 9f788f5e73fee691917bb3a2d671b013a5bce071 - tdf#155875 Tab'd UI cmds Writer/Format in Help(13) + refactoring + Writer Format menu (part 13) Change-Id: I1137ac139b48bcd0d9ce53fc0071ca565d41f274 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155908 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-21split to allow getting decoration on its ownCaolán McNamara
Change-Id: Ib65750245906de0852c39e4a4bdaa85a2f822282 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-21tdf#156834: Add basic support for dominant-baseline attributeXisco Fauli
Change-Id: I005d6ca6bc340d73cae639ccd09321a0a00bc4b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155892 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-21flat-odf-cleanup.py: remove unused table styles and page layoutsMichael Stahl
Change-Id: I8af888c2f2d5f8f2a73a1b6240d1ea607ab1f91f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155901 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-08-21ScriptForge - fix tdf#156836 Abort on MoveFirst()Jean-Pierre Ledure
The incident occurs when a move (last(), first(), next()) within the form's resultset is done from a Basic script immediately after the opening of the document containing the form. The insertion of a Wait 1 statement prevents the occurrence of the incident by interrupting very shortly the Basic process. Change-Id: I5e798db6e3f9ffaeeef38fb9badd008cbb190d1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155897 Reviewed-by: Jean-Pierre Ledure <jp@ledure.be> Tested-by: Jenkins
2023-08-21character preview is drawing two overlines for Small CapsCaolán McNamara
we already handle the underline and strikethrough case, so add the overline case here too Change-Id: I9ca0a5623a559e0cde07437439aa372e3c517159 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155894 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-21tdf#156837: check baseline-shift from parent tooXisco Fauli
Change-Id: I6e62d794dd4410447db3bee26c1e18fe9dad6a9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155895 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-21Drop a leftoverMike Kaganski
... from commit a3acf41195f4c39cba7950c389dc817b824f76ed (CWS-TOOLING: integrate CWS chart37, 2009-06-04) Change-Id: I32b3813ff0d76fc1dffd98080ce894781f3028cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155893 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-08-21tdf#155470 DOCX export: fix RTL numbers changed to LTRHossein
When using numerals in "context" mode in "Tools > Options", in "Language Settings > Complext Text Layout > General Options > Numerals", the actual display of the numbers is dependant on the direction and the language of those numbers. Previously, when exporting the DOCX in LO the RTL direction was lost, and because of that, the numerals were shown incorrectly after saving in LibreOffice, and loading again. This patch adds <w:rtl/> where <w:lang> contains an RTL language. For example, before <w:lang w:bidi="fa-IR"/> inside <w:rPr>, it always adds <w:rtl/>. It is worth noting that this is not always the case, as there are situations that <w:rtl/> is not present in <w:rPr> with an RTL language like <w:lang w:bidi="fa-IR"/> and <w:rtl/> should not be in the output. This patch does not handle that case, because currently loading such a text is not done correctly in LO, and the LTR numbers inside RTL environment are shown just like RTL numbers. To fix it, first loading and displaying of that should be fixed. A test is added to check the export of the sample file, which can be invoked with: make CppunitTest_sw_ooxmlexport CPPUNIT_TEST_NAME=testTdf155470 Change-Id: I8fc54916fcd3295010c5c81ccb632bc6082ffaa2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155721 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-08-21spellchecking wave doesn't extend to the full width of superscript textCaolán McNamara
or subscript, e.g. enter tmalltmalltmalltmalltmalltmalltmall in impress, format character, position, superscript, ok and without this change the wave extends only 80% of the width of the misspelt text Change-Id: I5d3ad61541152199809c950349533ca3fa7ed1c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155890 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-21tdf#156721 Crash if cursor in Basic IDE is in a macro from a document..Noel Grandin
.. and that document is closed regression from commit f3e127217d8daa443b8eda52ac4810e375cc7d63 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue May 9 15:21:20 2023 +0200 use comphelper::WeakComponentImplHelper in DocumentEventNotifier::Impl Change-Id: I5c8e68cd222ee1d66dc832700c4a39fd74223643 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155889 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-21Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 2dd56744064e9442dee1c1d9a205c19fa1b9bc2b - tdf#155875 Tab'd UI cmds Writer/Format in Help(12) + refactoring + Writer Format menu (part 12) Change-Id: Ifb2f4c57ee8c07a738efbfdb2ff2b2b21b9c3f22 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155880 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-21Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to b9ff9295e55037f835b749a6daedfa08aa2d731f - tdf#155875 Tab'd UI cmds Writer/Format in Help(11) + refactoring + Writer Format menu (part 11) Change-Id: I61634acae0b8074ea4ba726ff120ee9515103db5 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155870 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-21Fix typoAndrea Gelmini
Change-Id: Ieb6e4ccf543b4d015b83cea4614983d5fcaea8cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155886 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-08-21Fix typoAndrea Gelmini
Change-Id: I9ebbbaa470ada2559f206ef84d825a383b7adb02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155888 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-08-21svx: prefix members of SdrEdgeObjMiklos Vajna
See tdf#94879 for motivation. Change-Id: I5236f1d6d2294172640ec671424fbcd78a866d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155883 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-08-21remove pimpl in WPXSvInputStreamNoel Grandin
no need for pimpl in class only included by a small number of other files Change-Id: Ib1df25388d90da2aa8158d070a45a769bd608bfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155871 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-21Move SwXTextFieldTypes Java tests to C++anfanite396
Change-Id: I77ca9bc6cd0db626df826e2084514d34becf39bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154208 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-21tdf#45904: Remove old SwXBookmarks Java testanfanite396
Change-Id: Ie8d66b74192d1741922a7728934317859821fa00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155745 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-21tdf#156351 sw floattable: fix missing bottom border in master tableMiklos Vajna
The problem was that the bugdoc has a split floating table, and the bottom of the table on the first page was missing its border. The borders on the second page were correct. This happens because the cell itself has no bottom border and the layout did not extra effort to mirror the top table margin at the buttom, like Word does. Fix the problem similar to commit 53798fef2cc0b5b0b9706081a4af5ceca964a41b (Related: tdf#156351 sw floattable: fix missing top border in follow table, 2023-08-18), so we add a bottom border for master tables at a layout level, similar how a top border was already added for follow tables. Given that this kind of worked already in the past (just top borders, just the 1 row case), do this unconditionally; but if needed this could be limited to the "Word table cell" case. Change-Id: Iafdcd90226fdc425be597d36ad97fb69dca5a89a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155884 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-08-21move BGradient to awt::Gradient2 UNO conversion into docmodelTomaž Vajngerl
This is needed because the module dependencies are an issues if the conversion is done in basegfx. The bigger issue will come when the ComplexColor conversion will be done as basegfx can't depend on docmodel because of circular dependencies. The BGradient is also more suitable for docmodel anyway as the previously it was part of the model and is not a basic (gfx) type - however this doesn't move the whole BGradient into docmodel yet. Change-Id: Id91ce52232f89f00e09b451c13da36e2854ae14b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155674 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-21remove pimpl in ButtonSetNoel Grandin
Change-Id: I117b3b0002fb6151cc03245dcd3f892d6e211f0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155872 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-21Tests with color stops to assert Color and not BColor valuesTomaž Vajngerl
For testing color stops of a gradient we don't need to assert super precise values (doubls to the n-th decimal point) as long the end results in the same (8-bit) Color value. So change the tests to convert the BColor that is in gradient color stops to Color and assert the Color value. Change-Id: Ibd7661e2f72955a0778e822df1fae568973be357 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155360 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-20ofz: Use-of-uninitialized-valueCaolán McNamara
same as seen at: https://gitlab.com/libtiff/libtiff/-/issues/582 Change-Id: Ifc4eaaa47ad392968db814783281f1db76564d9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155874 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-20ofz#61511 Direct-leakCaolán McNamara
Change-Id: Id1510fb8271a67cc924e2751d5081f54da209ae8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155869 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-20ScriptForge - Refactor Python <=> Basic protocolJean-Pierre Ledure
Incremental changes had made the code in SF_PythonHelper.xba scriptforge.py (which manage the protocol between the Python user scripts and the ScriptForge services implemented in Basic) less readable and efficient. Next features have been reviewed: - dict instances may be passed as arguments and returned. Conversions are done on-th-fly. - dates may be passed as arguments and returned. Conversions are done on-th-fly. The lists of hardcoded methods have been removed. - 2D arrays in standard modules may be passed as arguments and returned. Conversions are done on-th-fly. The lists of hardcoded methods have been removed. - The hardcoded list of methods requiring a post- processing has been reduced. - Methods in standard modules, when not returning an array, are also executed with CallByName(). - The unused 'localProperties' attribute in Python services has been removed. - Flags about arrays in standard modules have been adapted in filesystem.Files() filesystem.SubFolders() session.UnoMethods() session.UnoProperties() string.SplitNotQuoted() string.Wrap() ui.Documents() - The platform.UserData property became a usual property. Dictionaries are admitted as arguments and return values. As a consquence next functions are supported in Python as well: session.GetPDFExportOpetions() session.SetPDFExportOptions() document, calc, writer.CustomProperties document, calc, writer.DocumentProperties These changes require an update of the help pages. Non-regression tests were run with success. All changes are transparent for existing scripts. Change-Id: Iae7a1f5090c590209cd3cb2314c919c44736eba9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155860 Reviewed-by: Jean-Pierre Ledure <jp@ledure.be> Tested-by: Jenkins
2023-08-20SwNavigator: Save some cycles by using break instead of continueJim Raykowski
When a content change is detected the Display function will clear and recreate the content tree from the content type member arrays, therefore, when a content change is detected there is no need to continue the loop here to set tree entry user data, which may have been the reason for using continue. Change-Id: Id1bc6fe6dddac54aa7299d3921c9352dc2314f79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155730 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-08-20tdf#148834 docxexport: also write suppressLineNumbers = falseJustin Luth
This code also affects DOC export, but shouldn't be detrimental. It just means that some unnecessary sprms will not be added to DOC files. RTF - similar to old DOCX - only outputs if !IsCount, but I didn't find a corresponding "enable" to offset \noline. make CppunitTest_sw_ooxmlexport18 \ CPPUNIT_TEST_NAME=testTdf148834_lineNumbering Change-Id: Ib5369c2f2c24f75dab7d02e3591a4ddefa335ebf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155858 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-08-19crashtesting: parallel calc assert with LookupCaolán McNamara
seen in forum-mso-en4-55192.xlsx with a singlecell as the result vector which gets autoextended outside the range that the pre-parallel calc took into consideration on set up. For simplicity if there is a result vector assume that if it doesn't match the size of the search vector that we can't parallelize this. Change-Id: Ic67e1b5b35964760ac5b1608cd516a69e08d0540 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155862 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-19Eliminate special alpha mask inversions when Skia is disabledPatrick Luby
Commit ad1f69d28d31725a22e7e1cbb4d950aa9ad3bea7 fixed an alpha blending bug in AlphaMask::BlendWith(const AlphaMask&) so almost all of the special alpha mask inversions when drawing transparent meta actions are no longer needed and so, when Skia is disabled, the same inversions as Skia are now used. The one special alpha mask inversion that is still needed when Skia is disabled is when exporting to PDF documents like the following with transparent gradients: https://bugs.documentfoundation.org/attachment.cgi?id=188084 Change-Id: I3212a38916be3d238bb9c868b161031616baf0a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155859 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 3f46135d08a1174b15985b2e46e82a23733b8087 - LibreOffice 7.6 video Change-Id: Ie4853969bbdf9eafad05d4c925aeab63bdd99419 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155861 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-19loplugin: new global analysis locking2Noel Grandin
look for methods where we don't need to guard access to the field, because the field is never modified Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-19Reimplement fix for tdf#156629 and tdf#156630Patrick Luby
Reimplement fix in commit 926c5246b6694d469a6caed5d7ea4c3a68648468 in an attempt to reduce the fix's performance hit. Instead of invoking EnsureBitmapData() and converting the SkImage to a memory buffer, any pending scaling on alpha masks is handled by creating a new, scaled SkImage. Note that in commit 926c5246b6694d469a6caed5d7ea4c3a68648468, EnsureBitmapData() was invoked which converted the SkImage to a memory buffer. That in turn would make Invert() a noop which fixed the related bug where an image has been opened and, before it has been printed or run in a slideshow, the alpha mask would unexpectedly be inverted. So keep this immutable behavior without calling EnsureBitmapData() by adding a new mutability flag. Change-Id: I99dc272b40c53664ea49333402a6a637b1548a5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155850 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-19Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to e7394856b4a21493b7da5e29db35f3227c3e0fb9 - tdf#155875 Tab'd UI cmds Writer/Format in Help(10) + refactoring + Writer Format menu (part 10) Change-Id: I0adcec8732aa9c22b4c9e7c2140531a4a3a3a5bc Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155852 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-19Fix typoAndrea Gelmini
Change-Id: I6649e13646e4fd33dd1858f5a5a56ec0955005dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155841 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-08-18on invalidating other views, specific what Tab is invalidatedCaolán McNamara
the other views might be viewing other tabs and it is only the tab ('part') this view is on which is invalidated Change-Id: I9f054ffa6158a6bc62e3eb7b7170450e26870b54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155816 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-18for LibreOfficeKit::isActive we can skip to LogicInvalidateCaolán McNamara
it should be the same effect Change-Id: I2faa0b728fdebe837855e1f23e066ae8b1a2bde6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155815 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-18Related: tdf#151059 assign Alt+7 to new manage changes deckCaolán McNamara
and move a11y one to 8 to match visual order Change-Id: Ifb4e08f6214da1cdd75bd3b5aa43ac9143e70376 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155832 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-18svx: Use FRAMEBORDERTYPE_COUNT instead of magic numberMichael Weghorn
... just as is used for `maAllBorders` below. Change-Id: I0741a039cc0ee9ad01055414f471dab45f420ed6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155849 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-18related tdf#156683 a11y: Dispose FrameSelectorImpl a11y childrenMichael Weghorn
Don't just invalidate, but also dispose the a11y children in `FrameSelectorImpl::~FrameSelectorImpl`. This fixes a crash on exit that's reproducible with the gtk3 VCL plugin e.g. like this (maybe some steps aren't even needed): 1) start LO Writer with the gtk3 VCL plugin 2) right-click, select "Character" > "Character" in context menu 3) switch to "Font Effects" tab 4) press space key with focus in the font color combobox to open the popup 5) use Tab key to get to the view of colors 6) move around with arrow keys a bit 7) close the dialog and Writer Reverse-continuing to `atk_object_wrapper_dispose` (frame #10 in the below backtrace) in rr showed the involved a11y object: uno::Reference to (svx::a11y::AccFrameSelectorChild *) 0x5557832b9150 Backtrace (somewhat similar to the one in tdf#156683): #0 0x00007ffff6b15cd6 in comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::disposeAndClear(std::unique_lock<std::mutex>&, com::sun::star::lang::EventObject const&) (this=0x7fffffffca88, rGuard=..., rEvt=...) at .../include/comphelper/interfacecontainer4.hxx:397 #1 0x00007ffff6b13c6f in comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing(unsigned int, com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&) (_nClient=1058, _rxEventSource=uno::Reference to (svx::a11y::AccFrameSelectorChild *) 0x55555cecfdf0) at .../comphelper/source/misc/accessibleeventnotifier.cxx:204 #2 0x00007ffff6b1028a in comphelper::OCommonAccessibleComponent::disposing() (this=0x55555cecfdf0) at .../comphelper/source/misc/accessiblecomponenthelper.cxx:61 #3 0x00007ffff6674aeb in cppu::WeakComponentImplHelperBase::dispose() (this=0x55555cecfdf0) at .../cppuhelper/source/implbase.cxx:104 #4 0x00007ffff2ddf0e0 in cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster>::dispose() (this=0x55555cecfdf0) at .../include/cppuhelper/compbase.hxx:90 #5 0x00007ffff6674834 in cppu::WeakComponentImplHelperBase::release() (this=0x55555cecfdf0) at .../cppuhelper/source/implbase.cxx:79 #6 0x00007ffff2ddf642 in cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster>::release() (this=0x55555cecfdf0) at .../include/cppuhelper/compbase.hxx:86 #7 0x00007ffff2ddf378 in cppu::ImplInheritanceHelper<comphelper::OCommonAccessibleComponent, com::sun::star::accessibility::XAccessibleComponent>::release() (this=0x55555cecfdf0) at .../include/cppuhelper/implbase.hxx:171 #8 0x00007ffff2ddf0a0 in cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper, com::sun::star::accessibility::XAccessible>::release() (this=0x55555cecfdf0) at .../include/cppuhelper/implbase.hxx:171 #9 0x00007fffe3f29535 in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>::clear() (this=0x55555d40a010) at .../include/com/sun/star/uno/Reference.hxx:231 #10 0x00007fffe3f288de in atk_object_wrapper_dispose(AtkObjectWrapper*) (wrapper=0x55555d409fa0) at .../vcl/unx/gtk3/a11y/atkwrapper.cxx:1078 #11 0x00007fffe3f27527 in atk_object_wrapper_finalize(GObject*) (obj=0x55555d409fa0) at .../vcl/unx/gtk3/a11y/atkwrapper.cxx:674 #12 0x00007ffff138c48c in g_object_unref () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007fffe3f003f7 in AtkListener::~AtkListener() (this=0x55555ce6ecb0, __in_chrg=<optimized out>) at .../vcl/unx/gtk3/a11y/atklistener.cxx:57 #14 0x00007fffe3f0042e in AtkListener::~AtkListener() (this=0x55555ce6ecb0, __in_chrg=<optimized out>) at .../vcl/unx/gtk3/a11y/atklistener.cxx:58 #15 0x00007ffff6756838 in cppu::OWeakObject::release() (this=0x55555ce6ecb0) at .../cppuhelper/source/weak.cxx:230 #16 0x00007fffe3f0a7de in cppu::WeakImplHelper<com::sun::star::accessibility::XAccessibleEventListener>::release() (this=0x55555ce6ecb0) at .../include/cppuhelper/implbase.hxx:115 #17 0x00007ffff6b21b99 in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>::~Reference() (this=0x55555d40a0c0, __in_chrg=<optimized out>) at .../include/com/sun/star/uno/Reference.hxx:114 #18 0x00007ffff6b217a9 in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*) (__pointer=0x55555d40a0c0) at /usr/include/c++/13/bits/stl_construct.h:151 #19 0x00007ffff6b20bcf in std::_Destroy_aux<false>::__destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*>(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*) (__first=0x55555d40a0c0, __last=0x55555d40a0c8) at /usr/include/c++/13/bits/stl_construct.h:163 #20 0x00007ffff6b1f105 in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*>(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*) (__first=0x55555d40a0c0, __last=0x55555d40a0c8) at /usr/include/c++/13/bits/stl_construct.h:196 #21 0x00007ffff6b197aa in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >&) (__last=0x55555d40a0c8, __first=0x55555d40a0c0) at /usr/include/c++/13/bits/alloc_traits.h:947 #22 std::__cxx1998::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >::~vector() (this=0x55555cf22af8, __in_chrg=<optimized out>) at /usr/include/c++/13/bits/stl_vector.h:732 #23 0x00007ffff6b17402 in std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >::~vector() (this=0x55555cf22ae0, __in_chrg=<optimized out>) at /usr/include/c++/13/debug/vector:230 #24 0x00007ffff6b1742a in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::impl_t::~impl_t() (this=0x55555cf22ae0, __in_chrg=<optimized out>) at .../include/o3tl/cow_wrapper.hxx:176 #25 0x00007ffff6b17485 in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::release() (this=0x55555d40a0b0) at .../include/o3tl/cow_wrapper.hxx:207 #26 0x00007ffff6b15700 in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::~cow_wrapper() (this=0x55555d40a0b0, __in_chrg=<optimized out>) at .../include/o3tl/cow_wrapper.hxx:271 #27 0x00007ffff6b145b4 in comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::~OInterfaceContainerHelper4() (this=0x55555d40a0b0, __in_chrg=<optimized out>) at .../include/comphelper/interfacecontainer4.hxx:126 #28 0x00007ffff6b206c6 in std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >::~pair() (this=0x55555d40a0a8, __in_chrg=<optimized out>) at /usr/include/c++/13/bits/stl_pair.h:187 #29 0x00007ffff6b1aac4 in std::__new_allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> >::destroy<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >(std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >*) (__p=0x55555d40a0a8, this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>) at /usr/include/c++/13/bits/new_allocator.h:194 #30 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::destroy<std::pair<unsigned i--Type <RET> for more, q to quit, c to continue without paging-- nt const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >(std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> >&, std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >*) (__p=0x55555d40a0a8, __a=...) at /usr/include/c++/13/bits/alloc_traits.h:557 #31 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::_M_deallocate_node(std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false>*) (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>, __n=0x55555d40a0a0) at /usr/include/c++/13/bits/hashtable_policy.h:2020 #32 0x00007ffff6b188b7 in std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::_M_deallocate_nodes(std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false>*) (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>, __n=0x55555d409ef0) at /usr/include/c++/13/bits/hashtable_policy.h:2042 #33 0x00007ffff6b164e6 in std::_Hashtable<unsigned int, std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::clear() (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>) at /usr/include/c++/13/bits/hashtable.h:2509 #34 0x00007ffff6b187cc in std::__cxx1998::unordered_map<unsigned int, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > > >::clear() (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>) at /usr/include/c++/13/bits/unordered_map.h:798 #35 0x00007ffff6b164a0 in std::__debug::unordered_map<unsigned int, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > > >::clear() (this=0x7ffff6f64960 <(anonymous namespace)::gaClients>) at /usr/include/c++/13/debug/unordered_map:234 #36 0x00007ffff6b14151 in comphelper::AccessibleEventNotifier::shutdown() () at .../comphelper/source/misc/accessibleeventnotifier.cxx:268 #37 0x00007fffee53fa20 in DeInitVCL() () at .../vcl/source/app/svmain.cxx:594 #38 0x00007fffee53e227 in ImplSVMain() () at .../vcl/source/app/svmain.cxx:229 #39 0x00007fffee53e283 in SVMain() () at .../vcl/source/app/svmain.cxx:236 #40 0x00007ffff7a9f51d in soffice_main() () at .../desktop/source/app/sofficemain.cxx:94 #41 0x00005555555549d4 in sal_main () at .../desktop/source/app/main.c:51 #42 0x00005555555549ba in main (argc=2, argv=0x7fffffffd8e8) at .../desktop/source/app/main.c:49 Change-Id: I22c665f3c41624f4916b956ea266ff1d39fbe507 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155848 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-18tdf#151134 Always write inset properties when exporting placeholder shapesSamuel Mehrbrodt
The default value works for text boxes, but not for these special presentation placeholder objects - here the values need to be written explicitly. Change-Id: Id606bd5e6b63dee2fd3b385435ce13ecec63b5f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155838 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-08-18configure.ac: Update Java check for JDK >= 9 version stringMichael Weghorn
Since Java 9, the major version number is the actual one, while up to including Java 8, that wasn't the case (Java 8 would use a version string of 1.8.x). Update the version check accordingly, which was still assuming the old versioning scheme, i.e. would pass for any Java version >= 1.9.0. (This shouldn't make any difference in practice yet, but will once the minimium version is increased.) Change-Id: I79eeb247315499caddd63d6abbb1e14ea6a72a4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155826 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>