summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-24qt a11y: Remember associated QObject also for non-QtXAcccessible caseMichael Weghorn
This is similar to what Change-Id Ic890a387ff016e889f25dba70c82d0d81ae7a9e3 ("qt a11y: Remember and reuse existing QObject for XAccessible") does to avoid creating another `QtXAccessible` for an `XAccessible` if one has been created earlier. However, there is an additional case that needs to be covered to avoid creating multiple `QObjects` for a single `XAccessible`: `QtAccessibleWidget::customFactory` not only gets called by explicitly calling `QAccessible::queryAccessibleInterface` from within LibreOffice code, but the Qt library itself also calls this method, in which case no entry associating the `XAccessible` with its `QObject` had been inserted into the map handled by our `QtAccessibleRegistry` previously. This would result in a "new" `QtXAccessible` object being created later when a `QObject` would be needed for that `XAccessible`, rather than using the `QtWidget` that is the actual `QObject` associated with the object. Prevent that from happening by inserting an entry into the map for this case as well. With this and two Accerciser fixes [1] [2] in place, jumping to bookmarks in Accerciser's treeview of the LO a11y hierarchy now generally works with the qt6 VCL plugin. It previously failed due to the fact that a new object was created and navigating the tree up to the root application object from the bookmarked object would then fail. The fact that there were two objects could be seen e.g. by using the following commands in Accerciser's IPython console with the root "soffice.bin" application a11y object selected in the treeview after starting Calc: In [25]: acc[1][0][0].get_parent().path Out[25]: '/org/a11y/atspi/accessible/2147483672' In [26]: acc[1][0].path Out[26]: '/org/a11y/atspi/accessible/2147483648' -> Two different IDs/paths for what should be the same object. (The parent of the first child of the object at tree path 1,0 should be the object itself, but here it wasn't.) With this change in place, this now works as expected: In [28]: acc[1][0][0].get_parent().path Out[28]: '/org/a11y/atspi/accessible/2147483648' In [29]: acc[1][0].path Out[29]: '/org/a11y/atspi/accessible/2147483648' Together with Change-Id Ic890a387ff016e889f25dba70c82d0d81ae7a9e3 ("qt a11y: Remember and reuse existing QObject for XAccessible"), this also addresses the remaining issue mentioned in commit 99640693d28ca11b31a1d3855e104d2d8c5122d7 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Aug 3 16:49:48 2022 +0200 > Note however that this change alone is not yet sufficient > for a window to actually be returned for any arbitrary a11y > object deeper down the hierarchy. This is because > walking up the a11y hierarchy currently results in new > Qt a11y objects being created for the parents instead of > using existing ones, and the newly created ones lack > the association to the widgets. > (This works in a WIP branch that remembers/caches > a11y objects, but that needs some additional work before > it can be merged.) Note that there are still cases where navigation to bookmarks in Accerciser's tree view doesn't work (reliably), but those would need to be looked at separately and might not be specific to the qt6 VCL plugin. (At least I have come across such cases with gtk3 as well.) [1] https://gitlab.gnome.org/GNOME/accerciser/-/commit/c2a3e9f1eb1fcd6eb059f1f2fe6e629b86521335 [2] https://gitlab.gnome.org/GNOME/accerciser/-/commit/a092dc933985fafd5b1e2cc3374c7bbc0fb2d12e Change-Id: I02262014a45a4b024cdc1bbd385da8a35a2c304a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138764 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-24qt a11y: Remember and reuse existing QObject for XAccessibleMichael Weghorn
Previously, a new `QtXAccessible` object was created for an `XAccessible` each time before `QAccessible::queryAccessibleInterface` was called, which is not only unnecessary but also causes various issues, e.g. it breaks walking the a11y hierarchy upwards (i.e. from children to parents), since a new object is created for the parent. This introduces `QtAccessibleRegistry` that keeps a mapping between the `XAccessible` and the associated `QObject`. That mapping is used to reuse already created objects instead of creating new ones for the same `XAccessible`. The entry for an `XAccessible` is removed again from the map in `QtAccessibleWidget::invalidate`, which gets called when the `XAccessible` gets disposed, s. `QtAccessibleEventListener::disposing`. With this in place, Orca now also nicely announces only the text of the push buttons themselves in the "Save Document?" dialog when switching between the buttons using the Tab key, rather than announcing the whole widget hierarchy every time (probably because creating a new object every time prevented Orca from recognizing that the previously selected pushbutton and the newly selected one are siblings, i.e. have the same parent object.) Change-Id: Ic890a387ff016e889f25dba70c82d0d81ae7a9e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138757 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-24tdf#150575: REPORTBUILDER: Crash when closing report when used report navigatorJulien Nabet
0 0x00007fe062bdda64 in comphelper::OSelectionChangeMultiplexer::disposing(com::sun::star::lang::EventObject const&) (this=0x55fe72b7b680, _rSource=...) at comphelper/source/misc/SelectionMultiplex.cxx:82 1 0x00007fdf90a97a6b in comphelper::OInterfaceContainerHelper3<com::sun::star::view::XSelectionChangeListener>::disposeAndClear(com::sun::star::lang::EventObject const&) (this=0x55fe6c94b6d0, rEvt=...) at include/comphelper/interfacecontainer3.hxx:362 2 0x00007fdf90a6ace4 in rptui::OReportController::disposing() (this=0x55fe6c94b200) at reportdesign/source/ui/report/ReportController.cxx:341 3 0x00007fe062539b5d in cppu::WeakComponentImplHelperBase::dispose() (this=0x55fe6c94b200) at cppuhelper/source/implbase.cxx:104 4 0x00007fe0393b76e5 in cppu::PartialWeakComponentImplHelper<com::sun::star::frame::XDispatch, com::sun::star::frame::XDispatchProviderInterceptor, com::sun::star::util::XModifyListener, com::sun::star::frame::XFrameActionListener, com::sun::star::lang::XInitialization, com::sun::star::lang::XServiceInfo, com::sun::star::frame::XDispatchInformationProvider, com::sun::star::frame::XController2, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::awt::XUserInputInterception>::dispose() (this=0x55fe6c94b200) at include/cppuhelper/compbase.hxx:90 5 0x00007fe0393af9d3 in dbaui::OGenericUnoController::dispose() (this=0x55fe6c94b200) at dbaccess/source/ui/browser/genericcontroller.cxx:1207 See full bt here: https://bugs.documentfoundation.org/attachment.cgi?id=181994 "addSelectionChangeListener" is called when "OSelectionChangeMultiplexer" is instantiated in "NavigatorTree" ctr 225 m_pSelectionListener = new OSelectionChangeMultiplexer(this,&m_rController); but "removeSelectionChangeListener" was never called so add the mechanism to call it. Change-Id: I157b147f7a17244dbbfa7d12743fc7d48e7d5f7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138773 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-08-24cid#1509260 silence Dereference null return valueCaolán McNamara
Change-Id: I513de1b3dd634e03965d7e813ba9b140249205fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138769 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24cid#1509194 Dereference after null checkCaolán McNamara
Change-Id: Idb290b2780af402f8573c8231e63b2598b34ba43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138768 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24cid#1509207 Dereference after null checkCaolán McNamara
remove useless null checks left behind after commit bb674aa5503ff40a5619d1fb4c9f310da5f5c983 Date: Thu Nov 17 13:16:30 2016 +0200 loplugin:unusedfields showed they weren't consumed anyway Change-Id: Ia32ee9458e01a995692ab961e52512872b1c415c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138767 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24pass SwNode to FindPrvNxtFrameNode instead of SwNodeIndexNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: Ib0c24ca1179f9c8dd92e9b327daea8a5079cead1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138765 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24tdf#150577: Revert "Micro-optim in FormController::approveRowChange"Mike Kaganski
This reverts commit e005ab5d40d358adb75a64e140d46f4bf605647d. XColumn::wasNull is documented [1] to require a previous call to a get* method. The reverted change internally queried the *previous* column's wasNull. [1] https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sdb_1_1XColumn.html#a0d482c20564f9119052b1962f830190e Change-Id: I3e988358764fa6935e8eb3e66340a0869c157d02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138550 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-08-24Related: tdf#149971 svx: support explicitly provided snapshots for media shapesMiklos Vajna
Snapshots / previews for media objects are used when the shape's video is not playing. This is generated by seeking to the 3rd second in the video, probably to avoid initial black frames. The trouble is that PowerPoint takes the initial frame (at least in case of the bugdoc), so our snapshot doesn't match the reference. We already import a bitmap snapshot from PPTX files since commit e2d46da076f43a7c0d56fc486b9f15339243f7c9 (avmedia: add doc model for bitmap fill of slide narrations, 2021-01-21), fix the problem by changing the snapshot generation to prefer this bitmap over generating one from the video. The crop properties of this bitmap / the video are still not yet handled from PPTX. Change-Id: Id985eaaaad5e4222d9a98203d054e08a0f97a0f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138763 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-24cid#1510129 Logically dead codeCaolán McNamara
triggered by the recent flatten, but there since: commit 36f21914b31a28f75ec2195c266424a18408f747 Date: Tue Oct 29 17:40:43 2013 +0000 Resolves: i123564 corrected some aspects when working with bitmaps... with low color depth or small size Change-Id: I5f088c3f7096cc6f2efcd370943128d6667b2d0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138762 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24cid#1510131 Uninitialized scalar fieldCaolán McNamara
Change-Id: Iff08a3dbbfc7ac14606061c66c81519e780d846c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138761 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24Use more SwPosition::AssignNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: I49cf97b3beaa3ff79489ba23106ac9ede9475765 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138760 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24use SwNode instead of SwNodeIndex in HasBareGraphicEnd methodNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I89f5bc1a70a8cf54052eebdda9830f8ed634ce45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138759 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: I8a418c2806eefada74471c28aa23189950d2e7ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138758 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24Update git submodulesChristian Lohmaier
* Update translations from branch 'master' to eb38107f17dbae1029eca4e4449128fbc2b9adf4 - update tranlsations for 7.4.1 rc1/master and force-fix errors using pocheck Change-Id: I3c03169b1a7d7ee775b8dbefca7eee140611ea8f
2022-08-24fix ubsan signed integer overflowNoel Grandin
after commit 6b544507b01d479b991d3ba7c949cb70696a3f2e Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue Aug 23 11:42:38 2022 +0200 Use more SwPosition::Adjust ubsan started to complain because the SAL_WARN_IF here assumes that nVal is >= 0. Make it work if nVal is < 0. /sw/source/core/bastyp/index.cxx:332:5: runtime error: signed integer overflow: 2147483647 - -1 cannot be represented in type 'int' /sw/source/core/bastyp/index.cxx:332:5 /sw/source/core/crsr/pam.cxx:257:14 SwPaM*) /sw/source/uibase/wrtsh/wrtsh2.cxx:129:52 /sw/source/uibase/fldui/fldmgr.cxx:1490:39 SfxRequest const&) /sw/source/uibase/wrtsh/wrtsh1.cxx:2284:19 Change-Id: Ic9e98b5350a55713f6b3fc2b39c9cbce97ee7223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138756 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: Icdcf9db112f34b3164e52c33f90484755cc08ccf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138754 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24use SwNode instead of SwNodeIndex in WillHavePageDescHere methodNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: Ib671c8a0588e7e53567b2ed02ff6169226d7c2e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138752 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: Ia11f4797fe0b7b0ba4fb368fe4f9918a2d577c87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138751 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-24rename DeviceFontWidth/DeviceFontHeight to DeviceSubPixelCaolán McNamara
Change-Id: I5378169e2c1d4d15fa160c3c2d2a130556dc80b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138747 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24move & rename height relevant function near & similar to its width equivalentCaolán McNamara
Change-Id: Icab3c11d6968efbbdb0f9f7f1dfeba2709e22a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138746 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24tools: test Rectangle::Normalize()Chris Sherlock
Change-Id: Ia3fec45b2b6dd0011910c8db5819e161485336c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138713 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-24tools: rename Rectangle::Justify() to Rectangle::Normalize()Chris Sherlock
Jusify() normalizes the rectangle so both the Width and Height are positive, without changing the location of the rectangle. It ensures that the x and y coordinates will be moved to the top left of the rectangle. The name is strange, so renaming Justify() to Normalize(). Change-Id: Idbf163e65e52a798e38f785b8961b8042cf0cf2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137379 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-24try and make test_Tdf148620 more reliableCaolán McNamara
Change-Id: I11ec949cb82ebaaa225afbbc154f574fc56c0d62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138753 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-24CppunitTest_sw_htmlexport: remove not needed mustTestImportOf()Miklos Vajna
See commit a226cec52e536c46e03f57a5f1f7931abbeb0cdd (CppunitTest_sw_rtfimport: convert one testcase to use CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation. Change-Id: Iaf7b77a18bcfca86ab06928580fd5d924f7af493 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138742 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-08-24NFC related tdf#85592: simplify SID_ATTR_CHAR_COLOR_BACKGROUND_EXTJustin Luth
I am tring to replace Writer-only uno:BackColor with uno:CharBackColor. The problem is this template flag which gets calls in svx and then does nothing in editeng. But I don't see any reason why this call should be transformed into a template (_ext) call. We can easily just keep the same call and do the state-checking only slightly different. All this other stuff makes _EXT seem much more complicated than it is. If I am right that this is a Non-Functional-Change, then I am well on my way to fixing this bug report. Change-Id: Idc08117217837f217ea5ca390005802c2fad392b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138101 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-08-23Make static ScCompiler::GetCharClassLocalized() public as wellEike Rathke
... and mutex guard it. Change-Id: Ief9c6deaf7974ac43c7ae439a0fb73c29eced283 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138733 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-08-23tdf#150555: Skia seems to fail with Windows 8/8.1Julien Nabet
See https://bugs.documentfoundation.org/show_bug.cgi?id=150555#c7 Change-Id: I7c2f0a30b3d8cc3c5c528690087a42423fba68a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138743 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-08-23Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: I46dbb7e562cf41dcceab57e2f5bf1e19babb955a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138731 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-23related tdf#150197 doc import: ANLV2 - always SetListFormatJustin Luth
Any time there is numbering, we expect to see an optional sListFormat set. This solves another case found by: assert(false && "depricated format still exists and is unhandled. Inform Vasily or Justin"); Change-Id: Ie88d6ea6feaaebaae8a0953668a2801f6f1a139a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138734 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-08-23backport some upstream hunspell commitsCaolán McNamara
Change-Id: I0c2b94a27af8c25c69579b367b944a4f77036487 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138735 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-23-Werror=redundant-moveStephan Bergmann
...with recent GCC 16 trunk. Introduced with 1a2926a995fdbdcdae0ca6407877084f3520e539 "use std::move when popping stuff off stacks" but which doesn't make sense here where std::priority_queue's top() unconditionally returns a const reference (unlike std::stack's top()). Change-Id: I408920220e3b7ffe775fa87f9edbfdc7721058db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138732 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-23tdf#127423: Allow disabling default features in Font Features dialogKhaled Hosny
In OpenType fonts we have no way if detecting what features are on by default and what not (short of hard-coding this, since HarfBuzz has no API of giving us this information, and it is also not a fixed set per-font, depends also on the text being shaped). The dialog currently does not differentiate between a disabled feature and unset feature. To make this distinction, feature value is now signed and negative value means the feature is unset (i.e. the default is used), and the checkbox is now a try state one to reflect this. Change-Id: Iba5d13f02610e7b761677acc19872788c72afde1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138729 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-23sw: fix missing cache invalidation when switching between imagesMiklos Vajna
It is possible to disable toolbar buttons from UNO API client code by registering a dispatch provider interceptor and then returning an empty reference when the UNO command associated with that toolbar button is queried for a dispatch. Such querying of a dispatch happens when changing context (e.g. text -> image selection), but not when switching between two images. A benefit of the current approach is that once a button is disabled this way, it remains disabled without re-querying the dispatch provider, which helps performance. A downside is that in case the dispatch provider intercepts the command based on the current selection (e.g. currently selected image), then switching to an other image won't re-query the dispatch provider, for at least two reasons: - SfxBindings::Register_Impl() is only called when the dispatcher is an internal one (e.g. not implemented in Java), so there is no listener that would re-query the state on selection change - even if we re-query the dispatch provider, the actual toolbar button won't be updated if the initial dispatch was an empty reference, since updating works by registering a status listener on the returned dispatch object in svt::ToolboxController::bindListener() Fix the problem by explicitly calling contextChanged() on the current frame when switching between images (but not changing context), similar to how SvtCommandOptions_Impl::Notify() invalidates registered dispatch objects when the configuration (on what commands are disabled) changes. This only helps with images and OLE objects, other object types are kept unchanged for now. Change-Id: I7f33dd2804067acf5cb0ca836f6a2a69fa950a8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138724 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-23sw: Navigator: Protect Bookmarks should allow editing, part 2Michael Stahl
Nowadays the Navigator is created once on document open, so enabling the protection from the menu will be ignored in SwContentType ctor, while setting loaded from file will take effect. Change-Id: If70b49044a712ebb3729a800836501db76fc490d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138714 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-08-23qt a11y: Drop unnecessary QObject inheritanceMichael Weghorn
While `QtXAccessible` has to inherit from `QObject`, `QtAccessibleWidget` doesn't. Change-Id: I5630f05cdd939bb0013dec4d26f010407d40a2c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138726 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-23Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Change-Id: I9a9889a819a3998aa4ff2188a2dc3e0cb2ec6888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138727 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-23use more SwPosition::GetNodeNoel Grandin
Change-Id: Iad8d3247062f459960767487d603711aff01f10e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138698 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-23cid#1509308 silence Logically dead codeCaolán McNamara
Change-Id: Ie0fba1b7221b92b1e1c37c80ade621c82c4fbf79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138707 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-23Use more SwPosition::AdjustNoel Grandin
to keep the internal fields of SwPosition in sync. Add a new SwPosition::AdjustContent for when we need to update the context index alone Change-Id: Iad277f742a903157afdacd1d5c11b2abfa7d477c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138723 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-23cid#1509185 Logically dead codeCaolán McNamara
do oslDoCopyFile only for S_ISREG. openFilePath (called from oslDoCopyFile) returns osl_File_E_INVAL for !S_ISREG so use EINVAL as the error code here to produce osl_File_E_INVAL too. Change-Id: I25a6c091799e051fe58c7dbfc2e7e062f16fe517 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138342 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-23tdf#148251 Use std::swap instead of using temporary valuesLiu Hao
Change-Id: Ibbc46bfb17d4d27dc40e63c65190b3f3a5f2d9c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138256 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2022-08-23sw: enable Replace with Protect BookmarksMichael Stahl
The dialog calls Replace on the whole bookmark, and with commit 7974cea6c788e02d7c36573e2d10dcc51884f70e the bookmark is preserved, so the HasReadonlySel() should not prevent this replace from happening. Change-Id: I823b042c8327c6716b2ac1a8a86beffd887e6e4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138693 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-08-23ofz: now that ofz#24932 is closed, bring up the input limitCaolán McNamara
Change-Id: Ide378cd9cad9f581faaca6e7d3a4e07470075ec3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138709 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-23ScriptForge - (SF_Document) fix Import/ExportFilters propertiesJean-Pierre Ledure
in the internal method _GetFilterNames(), in an array of PropertyValues, 2 indexes were hardcoded to optimize their access. The sequence of items has been changed in LO 7.4. The search of the correct Name-Value pairs is reviewed to make it independent of their position in the array. No impact on documentation. The function is of minor importance. Patch for LO 7.4 to make only if bug reported in bugzilla. Change-Id: I2d3147c9c7624bf79a4e077469223794dc2398bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138695 Tested-by: Jean-Pierre Ledure <jp@ledure.be> Reviewed-by: Jean-Pierre Ledure <jp@ledure.be> Tested-by: Jenkins
2022-08-23Drop obsolete codeMike Kaganski
Clang also defines _MSC_VER macro. Change-Id: I7e483eb1811a3ce5c78a6721895026d004ca98fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138712 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-08-23tdf#67669 - Make narrow no-break space visible by drawing a gray backgroundAndreas Heinisch
Change-Id: I7a80fe6ceab6b3693241db4fda77ce6712624321 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138710 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-08-23use more SwPosition::GetNode in CopyWithFlyInFlyNoel Grandin
Change-Id: I2f74694466f7a01dcc12fd39527900c53825e1b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138647 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-23tdf#66819: Disable ligatures with character spacingKhaled Hosny
When character spacing is not zero, optional ligatures should be disabled (e.g. this what CSS requires and what browsers implement: https://drafts.csswg.org/css-text/#letter-spacing-property). This disables both “liga” and “clig” OpenType features because they are optional features and are enabled by default, it does not disable “rlig” because it is for orthographically-required ligatures, nor “dlig” or “hlig” because they are disabled by default. The character spacing values (confusingly called kerning in the source code) are moved from SvxFont to vcl::Font so it can’t be accessed in OutputDevice and pass the relevant flag to SalLayout. Change-Id: Ieacc875df3896ad7a63ae8d116f4c6ff7265b9a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138711 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-08-23tdf#148430 Use std math functions instead of rtl::mathLiu Hao
Revert the changes in rtl unit tests. Add some new unit tests to demonstrate the behavior of std functions is same as rtl functions. Change-Id: I12603e2502b8d0951ff5e1650dc8fa193d67c856 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138696 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>