Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: I513de1b3dd634e03965d7e813ba9b140249205fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138769
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Idb290b2780af402f8573c8231e63b2598b34ba43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138768
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
* Update translations from branch 'master'
to eb38107f17dbae1029eca4e4449128fbc2b9adf4
- update tranlsations for 7.4.1 rc1/master
and force-fix errors using pocheck
Change-Id: I3c03169b1a7d7ee775b8dbefca7eee140611ea8f
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: I5378169e2c1d4d15fa160c3c2d2a130556dc80b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138747
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Icab3c11d6968efbbdb0f9f7f1dfeba2709e22a2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138746
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ia3fec45b2b6dd0011910c8db5819e161485336c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138713
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
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>
|
|
Change-Id: I11ec949cb82ebaaa225afbbc154f574fc56c0d62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138753
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
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>
|
|
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>
|
|
... 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
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: I0c2b94a27af8c25c69579b367b944a4f77036487
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138735
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
...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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: Iad8d3247062f459960767487d603711aff01f10e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138698
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie0fba1b7221b92b1e1c37c80ade621c82c4fbf79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138707
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
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>
|
|
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>
|
|
Change-Id: Ibbc46bfb17d4d27dc40e63c65190b3f3a5f2d9c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138256
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
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>
|
|
Change-Id: Ide378cd9cad9f581faaca6e7d3a4e07470075ec3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138709
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
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
|
|
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>
|
|
Change-Id: I7a80fe6ceab6b3693241db4fda77ce6712624321
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138710
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
|
|
Change-Id: I2f74694466f7a01dcc12fd39527900c53825e1b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138647
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
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>
|