summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2023-07-23vcl: Use HarfBuzz to get glyph bounding rectangleKhaled Hosny
For consistent cross-platform results that also matches our glyph advances since platform functions might be using hints which we don’t use. Change-Id: I4aebd3e7c5f460dff584f5eba74f7a11bab0f9b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154388 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-21mStructIdMap is unusedNoel Grandin
ever since commit 07d790ca473cd6e71f0343419b819fa6b485dc01 Author: Michael Stahl <michael.stahl@allotropia.de> Date: Wed Jul 12 15:26:25 2023 +0200 tdf#154982 vcl: PDF Export: split BeginStructureElement Change-Id: I4708fde93fe9a10e67fefc7e87fa9f3f49075375 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154720 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-21tdf#99609 a11y: Implement retrieving selected rows in tab list boxMichael Weghorn
With this in place, the index of the selected row in the Expert Configuration dialog can e.g. be seen in Accerciser using this in its Python console with the table object selected in the tree view of the a11y objects: In [1]: table = acc.queryTable() In [2]: table.getSelectedRows() Out[2]: [12] Change-Id: I2f07e73552ef12989acab461b33c3e41d9195490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154713 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21tdf#99609 a11y: Use GetEntryOnPos in more places in tab list boxMichael Weghorn
As described in more detail for the case in Change-Id I35f7280d2c386a9a8e04e636ebf34850a733c84a ("tdf#99609 a11y: Announce the correct entry in tab list box"), `GetEntryOnPos` is the method that returns the correct entry when passing the row index (when there are also non-visible dummy entries) and that commit also mentioned: > There are more uses of `GetEntry` that will be > looked at separately. These two uses in `SvHeaderTabListBox::GetCurrRow` and `SvHeaderTabListBox::IsCellCheckBox` are also using a row index, so it looks to me like they should also be using `GetEntryOnPos`. Change-Id: I1170063d760c020ad543fb458cac99a10e37c9a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154710 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21tdf#99609 a11y: Fix bound rect reporting for tab list boxMichael Weghorn
As described in more detail for the case in Change-Id I35f7280d2c386a9a8e04e636ebf34850a733c84a ("tdf#99609 a11y: Announce the correct entry in tab list box"), this also needs to use `SvTabListBox::GetEntryOnPos` for the correct entry to be used. With this in place, Accerciser now highlights the correct entry when clicking on the corresponding object in its treeview of LO's a11y hierarchy. Change-Id: I850247cd384a6a9bb909f51b39c4743548ec1105 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154689 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21tdf#99609 a11y: Announce the correct entry in tab list boxMichael Weghorn
The tree view in in the Expert Configuration dialog has a lot of "<dummy>" entries to implement creating entries on demand when expanding an entry (see `SalInstanceTreeView`). While these are not visible in the user interface, these have the effect that calling `SvTreeListBox::GetEntry` with the row index does not actually return the correct entry, but an entry further down in the tree view if there are non-expanded nodes (as is the case e.g. right after opening the Expert Configuration dialog, without having done any search). Use `SvTabListBox::GetEntryOnPos` that does exactly what is needed and returns the correct entry. With this in place, Orca with the qt6 VCL plugin now correctly announces the focused entry in the Expert Configuration dialog. NVDA on Windows now also announces the focused entry correctly at first. It then still always incorrectly announces the first row as selected, but that's another issue that will be addressed separately. This fixes the remaining issue about the selected/focused states not being reported correctly mentioned in Change-Id I6b532bfd6c3f437e44b3d67da8a5cc5f77b562d2 ("tdf#99609 a11y: Handle focused state for cells in tab list box"): > This at least makes the focused state being reported > properly for the first item ("org.openoffice.VCL") > in the Expoert Configuration dialog, but others still happen to not > have the focused state set properly when moving there with the arrow > down key, so there seems to be another issue somewhere. There are more uses of `GetEntry` that will be looked at separately. (Whether the dummy entries in the tree view should be exposed as cells of the table on the accessibility layer, as it is now, is another question, but leave it like that for now. With gtk3, which uses native Gtk widgets instead, the dummy entries are not exposed, which seems reasonable.) Change-Id: I35f7280d2c386a9a8e04e636ebf34850a733c84a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154687 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21tdf#99609 a11y: Handle focused state for cells in tab list boxMichael Weghorn
Report the focusable state for cells in the tab list box, and the focused state when the row is selected and child focus is on the table or a child. Not properly reporting the focused state would e.g. prevent Orca from announcing the newly focused row in the Expert Configuration dialog when using the qt6 VCL plugin. (It already worked fine with gtk3 because that one is using native Gtk widgets.) This at least makes the focused state being reported properly for the first item ("org.openoffice.VCL") in the Expoert Configuration dialog, but others still happen to not have the focused state set properly when moving there with the arrow down key, so there seems to be another issue somewhere. pyatspi script that prints state change events: #!/usr/bin/python3 import pyatspi def listener(e): try: if e.host_application.name != 'soffice' and e.host_application.name != 'soffice.bin': return except: return print(e) pyatspi.Registry.registerEventListener(listener, 'object:state-changed') pyatspi.Registry.start() Sample output when moving between entries in the table (only "org.openoffice.VCL") has focused state set. object:state-changed:focused(1, 0, [table | ]) source: [table | ] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(1, 0, [table | ]) source: [table | ] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(0, 0, [table cell | org.openoffice.Inet]) source: [table cell | org.openoffice.Inet] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(1, 0, [table cell | org.openoffice.VCL]) source: [table cell | org.openoffice.VCL] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(0, 0, [table cell | org.openoffice.Inet]) source: [table cell | org.openoffice.Inet] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(0, 0, [table cell | org.openoffice.LDAP]) source: [table cell | org.openoffice.LDAP] host_application: [application | soffice.bin] sender: [application | soffice.bin] object:state-changed:focused(0, 0, [table cell | org.openoffice.Setup]) source: [table cell | org.openoffice.Setup] host_application: [application | soffice.bin] sender: [application | soffice.bin] Change-Id: I6b532bfd6c3f437e44b3d67da8a5cc5f77b562d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154671 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21tdf#99609 a11y: Set proper parent for cells in tab list boxMichael Weghorn
The a11y tree was broken: While the table has the cells as children, the cells did not have the table set as parent, but the table's header. Since the IAccessibleTableCell implementation in winaccessibility relies on the table being set as the parent, this wouldn't work when moving around within the tree view in the Expert Configuration dialog. Fix this by setting the table as parent. The issue could also be observed with the qt6 VCL plugin on Linux and Accerciser. With the table selected in Accerciser's tree view of the a11y hierarchy, the incorrect hierarchy could be seen using this in Accerciser's IPython console. In [8]: acc.childCount Out[8]: 48 In [9]: acc.get_child_at_index(4).name Out[9]: 'Migration' In [10]: acc.get_child_at_index(4).parent == acc Out[10]: False In [11]: acc.get_child_at_index(4).parent.childCount Out[11]: 4 With the fix in place, the table's child's parent is now the table again as expected: In [13]: acc.childCount Out[13]: 48 In [14]: acc.get_child_at_index(4).name Out[14]: 'Migration' In [15]: acc.get_child_at_index(4).parent == acc Out[15]: True In [16]: acc.get_child_at_index(4).parent.childCount Out[16]: 48 NVDA on Windows now announces *something* when moving between rows in the Expert Configuration dialog, but it's not the correct row yet. (That looks like another issue in winaccessibility code that needs to be fixed separately.) Change-Id: I400fa9811bb297ea7fd1accb0970811cdf11a119 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154670 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21loplugin:redundantcast small improvementNoel Grandin
Change-Id: I2c96b367138b94d6178a3c4a0f83049f13a04f82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154679 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-21Assume that all modern X servers have a unified display areaNoel Grandin
Change-Id: I704e6147085b2eca7fc6fd93261aced3e04b2fff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154667 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-20tdf#156361 use slow blending path if alpha mask blending is diabledPatrick Luby
SkiaSalGraphicsImpl::blendBitmap() fails unexpectedly in the following cases so return false and use the non-Skia alpha mask blending code: - Unexpected white areas when running a slideshow or printing: https://bugs.documentfoundation.org/attachment.cgi?id=188447 - Unexpected scaling of bitmap and/or alpha mask when exporting to PDF: https://bugs.documentfoundation.org/attachment.cgi?id=188498 Change-Id: I13ae613f24bff4cd018110a08ed70559a1714687 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154678 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-07-20tdf#154990 vcl: PDF export: incorrect checks of annotation struct parentsMichael Stahl
The first form annotation is missing /StructParent. The invalid value is -1, not 0. Typically 0 is the index of the MCIDs entry (m_aMCIDParents) in the ParentTree /Nums, but if there is not a single MCID in the document, this is omitted and 0 may be a valid annotation then. Change-Id: I9885d176eae272d98000f9d9f0ffae82558c0ea0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154668 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-07-20split GetWindowExtentsRelative asunderNoel Grandin
sometimes it returns a relative position, sometimes an absolute position. Rather have two different methods with names that match what they return. Change-Id: Ie1e73c6be1c797fd59934c96866d1fef1f972b35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154653 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-20simplify the operation of ImplGetWindowExtentsRelativeNoel Grandin
instead of inlining OutputToAbsoluteScreenPixel Change-Id: I4914392e6dfb5c1ace7041642fecbaa084cf7626 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154652 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-20remove dead code in ImplDrawFloatwinBorderNoel Grandin
Change-Id: I4f71d7dbf3ae3fbc139f770084dbdea4cbf9b848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154651 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-20no need to return a mutable ref from ImplGetItemEdgeClipRectNoel Grandin
and risk updating internal site. Luckily, all of the current callers are making a local copy Change-Id: I8b85d087ef934b1bb32f5a902a4fbf08659b7511 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154650 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-18fix DNDEventDispatcher::findTopLevelWindowNoel Grandin
for the unlikely case of antiparallel desktop (whatever that is) regression from commit ea05f2aa4e28fd40238c4962e9dcbbf0d873cabd Author: Norbert Thiebaud <nthiebaud@gmail.com> Date: Thu Oct 14 22:12:16 2010 -0500 migrate OClearableGuard(SoalrMutex) to SolarMutexGuard when the code findTopLevelWindow was extracted into its own method, the location parameter was not made a reference, which is necessary to propogate the update that occurs in OutputDevice::ReMirror Change-Id: I37c18497660cd157ca4e4cfb1cbb60ed07e11da5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154586 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-18remove ImplFrameToOutput and ImplOutputToFrameNoel Grandin
in favour of ScreenToOutputPixel and OutputToScreenPixel, since their implementation is exactly the same Change-Id: Iede024bfc5654e3f671984620f8e88d2414003f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154591 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-17simply some LogicToPixel calculation sitesNoel Grandin
Change-Id: I9698562dd1f8d4679c9999342ded1022bde698be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154523 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-14tdf#154982 drawinglayer,svx,sw,vcl: PDF export: hell flys and shapes...Michael Stahl
... should be below their anchor paragraph in the structure tree. Refactor SwEnhancedPDFExportHelper (etc.) to use the new EnsureStructureElement()/InitStructureElement() functions instead of SetCurrentStructureElement() for the frames, and allow it for flys that don't have their anchor paragraphs created yet because the hell layer is exported before the document body. Change-Id: I1be3b54002e8196772e6f9d81dd0fd0c85b6e34b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154399 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-07-14tdf#154982 vcl: PDF Export: split BeginStructureElementMichael Stahl
... into 3 parts: EnsureStructureElement/InitStructureElement/BeginStructureElement So EnsureStructureElement and BeginStructureElement/EndStructureElement can be called multiple times for the same object, passing in a unique key and PDFExtOutDevData will only create the element once. InitStructureElement will be used exactly once for each object when its actual content is exported. In PDFExtOutDevData rely on the indexes being the same here and in PDFWriterImpl, because then only PDFExtOutDevData needs to maintain the map from key to index. Change-Id: Idea6e34627fe559038cf13cf01dafe84b759e3c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154357 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-07-13vcl: Move include of <hb-icu.h> to the appropriate placeRico Tzschichholz
hb_icu_script_to_script is used in CommonSalLayout.cxx only Change-Id: I1d8de8c420963b42623bb06a7f5e1f37986e1c16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149935 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-13ImageMap::GetHitIMapObject can be constNoel Grandin
which removes an unnecessary const_cast Change-Id: I9ef2e7c8b87e15ebd04e8864bfdd322991d9af00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154383 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-13use more frozenNoel Grandin
Change-Id: Ie3e6e7e947d9322f3999cf3274a6c10ea717afe2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154276 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-11jsdialog: dump calendar dataSzymon Kłos
Change-Id: I51d5e553c5ec1ba9fa5fd63844621368f3cedbd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154133 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit b61b6fa6ee97a735ba30a4b725075b4c0fffbdd5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154314 Tested-by: Jenkins
2023-07-11Move SalInstanceFormattedSpinButton decl to headerSzymon Kłos
Change-Id: I64582387b9169efa700a0df5c89e042a9a150423 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154192 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Pranam Lashkari <lpranam@collabora.com> (cherry picked from commit b0de1f5fc3b6170f562328de8abd3680f2382a7a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154313 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-07-11jsdialog: Move SalInstanceCalendar decl to header fileSzymon Kłos
Change-Id: Ide9e685d724d646f0ab8825b1fce2b6fd130d3ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154135 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit d792875d79a63364dba02426ef75d696ae0f02ef) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154266 Tested-by: Jenkins
2023-07-11tdf#152234 vcl: Role values are lowercaseMichael Stahl
Old version 3 of PAC throws exceptions if these are capitalized; presumably this is case sensitive, and all-lowercase unlike everything else. Change-Id: Ifc0cef38e333123e810376ab6a7630443d253841 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154282 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-07-07Prolongate hide timeout in call to Help::Show*, when reusing existing windowMike Kaganski
Otherwise, when moving mouse, and the tooltip follows it and updates its content, it would still hide after the initial timeout, only to re-appear on the next move. Change-Id: I3c93240f752301f2a86acabce54fe735d6e06550 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154163 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-07tdf#153472 vcl: PDF/A export: produce valid XMP metadataMichael Stahl
* historically the PDF export claimed to produce PDF/A-1a, which was removed from the UI in commit ed4a0eed82e2f29e8163a445db992d22c6d07134 "tdf#62728 add PDF/A-2 support, change UI default to use that", and then reintroduced, presumably intentionally changed, as PDF/A-1b in commit 49cfcf777d03abf59557cad021b4e5c4445de3c0 "tdf#62728 Provide both A/1 and A/2 in PDF export dialog" Adapt the XMP metadata to always write "B". * if PDF/UA is enabled, veraPDF complains about the added pdfuaid:part: Specification: ISO 19005-2:2011, Clause: 6.6.2.3, Test number: 7 All properties specified in XMP form shall use either the predefined schemas defined in the XMP Specification, ISO 19005-1 or this part of ISO 19005, or any extension schemas that comply with 6.6.2.3.2. Change-Id: I77b9fb728476e85830e3771135ac5a269e96b306 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154169 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-07-07combine PixelToLogic+LogicToPixel into LogicToLogicNoel Grandin
avoiding some precision loss Change-Id: I946f4f820321f76fb7634c722a28035600bac359 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154157 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-07Some refactor to combine code deciding bNoDelay valueMike Kaganski
Change-Id: Ie04288c14801dfc8090ed8bd92a85e426a66d654 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154153 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-07Related: tdf#155462 Repaint changed tooltip text immediatelyMike Kaganski
When moving scrollbar thumb, its tooltip is constantly updated. This changes the window position and size, which appear immediately; but the text wasn't repainted, until events with higher priorities were processed, which gave visible discrepancies between the window size and its contents. When tooltip window size decreased, the old text could become cropped; or the window could become much larger. Also, not updating the text broke the idea that the tooltip helps user to see where they are in the document in real time. Change-Id: Ibdc7cc15bd40896428004ef70bbe8c8c5a0858ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154152 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-06Don't modify configuration / Windows registry in CppunitTest_sw_a11yMike Kaganski
After commit 889c12e98e04edb4bc25b86bf16b8cf1d9b68420 (tdf#155794 vcl: handle WM_GETOBJECT without SolarMutex, 2023-06-13), running CppunitTest_sw_a11y resulted in a failed assertion in VCL cleanup on some Windows systems: Assertion failed: !IsModified(), file C:/lo/src/core/vcl/source/gdi/configsettings.cxx, line 56 abort() has been calledwarn:sal.cppunittester:16572:26632:sal/cppunittester/cppunittester.cxx:598: CAUGHT SIGABRT: 25: sal::backtrace_get - 0x7fffcca3162a 24: AbortSignalHandler - 0x7ff7ee9eaf4f 23: raise - 0x7fffc37c90ed 22: abort - 0x7fffc37cae49 21: get_wide_winmain_command_line - 0x7fffc37d0c6f 20: get_wide_winmain_command_line - 0x7fffc37cebc8 19: wassert - 0x7fffc37d18af 18: vcl::SettingsConfigItem::~SettingsConfigItem - 0x7fff2bbfd3cd 17: vcl::SettingsConfigItem::`scalar deleting destructor' - 0x7fff2b861dc0 16: std::default_delete<vcl::SettingsConfigItem>::operator() - 0x7fff2bbfdc38 15: std::unique_ptr<vcl::SettingsConfigItem,std::default_delete<vcl::SettingsConfigItem> >::reset - 0x7fff2bbfeae7 14: DeInitVCL - 0x7fff2bfacd68 13: `anonymous namespace'::Protector::~Protector - 0x7ffffa341357 12: `anonymous namespace'::Protector::`scalar deleting destructor' - 0x7ffffa341520 11: CppUnit::ProtectorChain::pop - 0x7fffcc55dedf 10: CppUnit::TestResult::popProtector - 0x7fffcc52e4e8 9: `anonymous namespace'::ProtectedFixtureFunctor::run - 0x7ff7ee9f0e18 8: main2 - 0x7ff7ee9ef5f9 7: sal_main - 0x7ff7ee9f0e69 6: main - 0x7ff7ee9f1bca 5: invoke_main - 0x7ff7ee9f25e9 4: __scrt_common_main_seh - 0x7ff7ee9f250e 3: __scrt_common_main - 0x7ff7ee9f23ce 2: mainCRTStartup - 0x7ff7ee9f265e 1: BaseThreadInitThunk - 0x7ff8039d7614 0: RtlUserThreadStart - 0x7ff8059826f1 because it called MiscSettings::SetEnableATToolSupport at some point. It seems reasonable to avoid such configuration changes for unit test anyway. Change-Id: I00edc4f6e1183dad66e0504f7d702ad90d7edcd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154134 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-06use logical pixels in ORoadmap::DrawHeadlineNoel Grandin
which is what DrawText wants Change-Id: I5dd98314f84f25f65e199444af87e4f34f7bfbce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154145 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06make tools::Poly*gon single-arg constructors explicitNoel Grandin
which will help avoid ambiguity in method calls in an upcoming patch Change-Id: Ic7607ac7d95559e0942a84fb3226cfdd6ade22bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154146 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06flatten some bitmap codeNoel Grandin
Change-Id: I0f4435899e3002c152767aaa68ffa1629b4a172d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06avoid skia assert and slow-pathNoel Grandin
Otherwise, several lines below, we might call mpAlphaVDev->GetBitmap which will return no bitmap (because the resulting bitmap would be empty). And then either we will hit the assert a few lines lower, or we will go into the very very slow path below. Change-Id: I41a62cddef5e0a6822ca09ed954e3fe431ca0021 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154097 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06Optimize a bitMike Kaganski
Change-Id: I1ac373bea06b946b3c51154dfcdbe6aa22eeae49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154089 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-07-06loplugin:unusedfields all-can-be-privateNoel Grandin
these fields can be private Change-Id: I74423a9ae2ef0263a28c8a716ab1c55861e453d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154092 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06DrawTextFlags::HideMnemonic is unusedNoel Grandin
ever since commit 3fbae5dc7e7b200776bbc8a7c2a43e1e04f15a2b Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Aug 5 14:57:59 2021 +0100 gtk is the only case auto-accel is true, and the menubar is native gtk there Change-Id: I209a410a231952dcbbb587ed6034fcfec77eaead Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154059 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06ScanlineFormat::N1BitLsbPal is unusedNoel Grandin
ever since commit 4160be791daaef1a0c059a248f678cbad6408a69 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Jan 10 20:55:31 2023 +0000 no more X11SalBitmap Change-Id: I9dd55acdde6af1bf7501a71e92725ab739801b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154060 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-05loplugin:unusedenumconstantsNoel Grandin
Change-Id: I53817a6b017203d8694032320869d11412c57ee9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154027 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-05loplugin:constantparamNoel Grandin
Change-Id: Ib7bba815fcd4d2d4092bdd96055517468f6c6b09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153983 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04unnecessary LogicToPixel in TabPage::DrawNoel Grandin
we are already using logical pixels here, and DrawBitmapEx wants logical pixels Change-Id: Ia099fbfbf33349003df23a93e1183472b27dc7a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153969 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04unnecessary LogicToPixel in ComboBox::DrawNoel Grandin
we are already using logical pixels here, and Draw wants logical pixels Change-Id: I5409abccef4473cbca4d38654a27a677e68d82f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153968 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04tdf#156151: Take PDF DPI into account when outputting Type 3 glyphsKhaled Hosny
We were always assuming the default 720 DPI, but this is not always true when printing to file as the DPI would depend on printer settings in this case. Change-Id: I747f8e24f0942ecb94eb8acfc1dd9972d83ba0e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153978 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-04unnecessary LogicToPixel in RadioButton::DrawNoel Grandin
we are already using logical pixels here, and ImplDraw wants logical pixels Change-Id: I0edc990c9943d68228600a15ccadca62127b02bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153967 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04unnecessary LogicToPixel in CheckBox::DrawNoel Grandin
we are already in logical pixels here, and the ImplDraw call expects logical pixels Change-Id: I7eab69b92998fd36c811fc7ac3949adb2f4fff7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153966 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04CppunitTest_vcl_graphic_test: Demultiplex test codeXisco Fauli
and relax hack a bit, enabling webp based on testname is dirty since they might change Change-Id: Id933095701d01426d2802d6a194d6f74c07baaa9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153957 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>