so we get bounds checking in debug mode
Note that I cannot just pass around the std::vectors
involved because there is a place in editeng which
calls with a subset of a vector.
Change-Id: I5088a139593c27bf9cbe5d843ab4b0048ac6d508
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124330
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
... as it is around since the dawn of C++ and should be stable --
certainly more stable and less errorprone that manual typetagging.
Change-Id: I5dfe2ce40c2334dc8fe60705d358779fa4bf1586
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124131
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
...making sure that the shell expands the leading
DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}...
before it reaches lldb.
(This gets rid of gb_{Cppunit,Pyhton}_{PRE,POST}GDBTRACE again. No idea why
c38a4d9ce2 "Make the CPPUNITTRACE="lldb --" thing
work again (on macOS)" used -s with a temp file rather than -o to pass that env
var into lldb.)
Change-Id: I9ae5217a9629981c8652fc5aca8f97fa6eb99729
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124331
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
There are no 'XAccessibleSelection::deselectSelectedChild'
and 'XAccessibleSelection::getSelectedChild' methods, so don't
mention them in the documentation for
'getSelectedAccessibleChildCount'.
First, there's 'XAccessibleSelection::getSelectedAccessibleChild',
but not 'XAccessibleSelection::getSelectedChild', so update that
accordingly.
Second, there's no 'XAccessibleSelection::deselectSelectedChild',
and 'XAccessibleSelection::deselectAccessibleChild' doesn't take an
index into the selection, but a child index, s. its documentation
and the commit message of pending Gerrit change
Change-Id: I3c63c647e61baaa6288ffd545d8d89d8b94231de
("gtk3 a11y: Use correct index when deselecting child")
on how the semantics of AT-SPI functions with corresponding
names differ.
(The comment was added in
commit daacf7ed0b
Date: Thu Apr 24 16:35:46 2003 +0000
INTEGRATION: CWS uaa02 (1.1.2); FILE ADDED
2003/04/02 10:06:50 obr 1.1.2.3: #108113# Renamed deselectSelectedAccessibleChild to deselectAccessibleChild
2003/03/14 10:40:52 af 1.1.2.2: #108113# Removed references to the drafts directory.
2003/03/11 15:00:39 af 1.1.2.1: #108113# Moved from drafts/com/sun/star/accessibility.
and
> 2003/04/02 10:06:50 obr 1.1.2.3: #108113# Renamed deselectSelectedAccessibleChild to deselectAccessibleChild
sounds like there might temporarily have existed a draft implementation
that actually took an index into the selection rather than
a child index.)
Change-Id: Ib8eeadd1ffe8e05b87422e3f9d5c4b3fcc6b696d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124332
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The AT-SPI selection interface provides two functions
to unselect:
gboolean atspi_selection_deselect_selected_child (AtspiSelection *obj, gint selected_child_index, GError **error);
gboolean atspi_selection_deselect_child (AtspiSelection *obj, gint child_index, GError **error);
For the first one, 'atspi_selection_deselect_selected_child',
"child_index is the index in the selected-children list,
not the index in the parent container." [1]
For the second one, 'atspi_selection_deselect_child',
"child_index is the index of the child in the parent container". [2]
ATKSelection, on the other hand, only has
gboolean
atk_selection_remove_selection (AtkSelection *selection,
gint i);
where the index 'i' is "a gint specifying the index in the selection set.
(e.g. the ith selection as opposed to the ith child)." [3]
That means, the meaning of the index in
'atk_selection_remove_selection' is the same as in
'atspi_selection_deselect_selected_child', while
'XAccessibleSelection::deselectAccessibleChild' expects
an index in the parent container, not in the selection
set.
Therefore, convert the index from an index in the
selection to a child index first before passing
it into 'XAccessibleSelection::deselectAccessibleChild'.
(For ATK, the mapping from the two AT-SPI to the
ATK function is done in libatk-bridge.)
Example to reproduce wrong behaviour without this
change in place:
1) select cells B1 to E5 in Calc
2) start Accerciser
3) select the Calc table in Accerciser
4) get AT-SPI selection interface for the table by typing the following
in the IPython Console in Accerciser:
sel = acc.querySelection()
5) check whether child 0 (i.e. cell A1) is selected
In : sel.isChildSelected(0)
Out: False
-> OK
6) check whether child 1 (i.e. cell B1) is selected:
In : sel.isChildSelected(1)
Out: True
-> OK
7a) try to unselect cell B1:
In : sel.deselectChild(1)
Out: True
-> NOK: selection remains unchanged, cell B1 is still selected
Alternatively, intead of step 7a:
7b) try to unselect cell C1 (2nd item in the selection):
In : sel.deselectSelectedChild(1)
Out: True
-> NOK: cell B1 gets unselected instead of C1
[1] https://developer-old.gnome.org/libatspi/unstable/libatspi-atspi-selection.html#atspi-selection-deselect-selected-child
[2] https://developer-old.gnome.org/libatspi/unstable/libatspi-atspi-selection.html#atspi-selection-deselect-child
[3] https://gnome.pages.gitlab.gnome.org/atk/AtkSelection.html#atk-selection-remove-selection
Change-Id: I3c63c647e61baaa6288ffd545d8d89d8b94231de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124329
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
so tab-cycling inside sidebar popovers work as wanted
In gtk3 a can-focus of True means that tab-cycling doesn't work
correctly as the container is seen as a candidate itself
In gtk4 a can-focus of False means that focus cannot enter any
child of it.
So it needs to be false for gtk3 and true for gtk4, leaving it
unspecified gets a desired working default.
Change-Id: I423094657854ed02bc28496dfc9a30efa1e945da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124338
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(when e.g. building natively on macOS ARM64)
Change-Id: Ibff6f913a6251573058c52a8b4106233fad1d443
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124322
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
newcomers will run into the need to specify --with-privacy-policy-url
and besides that the update server won't know about the build done/will
be useless without also using your own update-check server.
Change-Id: I77ff61e55ae4a0ca387b79cc2dcfc3f3059ef962
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124324
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
This partially reverts 1a5b12aa5d "optimise
find/insert pattern", which caused
> ~/llvm/inst/bin/../include/c++/v1/unordered_map:1134: _LIBCPP_ASSERT '__get_const_db()->__find_c_from_i(&__p) == this' failed. unordered_map::insert(const_iterator, const value_type&) called with an iterator not referring to this unordered_map
during CustomTarget_testtools/uno_test in an experimental build with
-D_LIBCPP_DEBUG=1 on macOS.
Change-Id: Id40e5eab7c3fb1f8e1bb2599c7fb84649e870ba2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124319
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
whereas it should since not default value
(Regina) Hopefully in some years missing values are unlikely and
bug tdf#141127 can be fixed.
(Regina) I have added a unit test to Julien's patch.
Change-Id: Ia2aabd8e724e3c3db9ae8a87cb27707aa7040fb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113257
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
jenkins agents use PARALLELISM with additional load limit, e.g.
PARALLELISM="16 -l 24" causing the linker to complain about not finding
-l24 when lto is enabled. So only use the first element/the number of
jobs to use and omit the load limit here.
Change-Id: Ie3e2bdbde1b89d9371d1d9b9e426f42a91d2eca8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124288
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
The XSheetCellCursor property requires one mandatory argument,
a range as a string.
It returns a UNO object of type com.sun.star.sheet.XSheetCellCursor.
Such an object is designed to navigate thru the spreadsheet.
After the user script has used one or more navigation verbs
(gotoNext(), ...) the resulting range can be got back in the
script by using the cursor.AbsoluteName UNO property.
The new range can be given as input to further ScriptForge
methods.
XSheetCellCursor is available both from Basic and Python user scripts.
Change-Id: I62fb18a6f496d81b01036aef2ca6733f07632d9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124280
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
Signing the document 3 or more times produces an invalid signature.
The cause of this is that xmlsec is confused because we have 3
signatures, which all have the same SignedProperties with the ID
"idSignedProperties", but it expect them to be unique.
This issue is fixed by making the ID unique with adding the ID of
the Signature to the SignedProperties ID, so this makes them unique
inside the same Signature.
Also UnsignedProperties have a unique ID usign the same approach,
but they aren't referenced - luckily.
Change-Id: I53c7249a82fc0623586548db9fa25bdc0e7c4101
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124278
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Seems extraction from the Any here needs to be to a long even though
an unsigned short is inserted.
Change-Id: I3439d4282c99d2b83d4e9e146e241db0dd41a452
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124258
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Currently only the floating Navigator uses the outline levels value
stored in the Navigator configuration. This patch makes the sidebar
version also use the stored outline levels value.
Change-Id: I6f54f92b7375e0688b29aa128008a3bd758a785a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124251
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
this basically reverts
commit 312a32f6b6
tdf#145296 use a 'clickable' widget for custom spacing
commit 592235d64d
tdf#145296 use a 'clickable' widget for custom depth
and uses a mouse-release workaround to detect the case of clicking on an
already active radiobutton which gives a result basically
indistinguishable from the pre 7.2 experience
Change-Id: Ic7ac6fa20843466b1d0c77586e25f4aabf814328
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124285
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
It turns out that the 2 backends NSS and MS CryptoAPI generate different
string representations of the same Distinguished Name in at least one
corner case, when a value contains a quote " U+0022.
The CryptoAPI function to generate the strings is:
CertNameToStr(..., CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG, ...)
This is documented on MSDN:
https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-certnametostra#CERT_X500_NAME_STR
NSS appears to implement RFC 1485, at least that's what the internal
function is named after, or perhaps one of its several successor RFCs
(not clear currently if there's a relevant difference).
This is now causing trouble if a certificate with such a DN is used in a
signature, created on WNT but then verified on another platform, because
commit 5af5ea893b
introduced consistency checks that compare the DNs that occur as strings
in META-INF/documentsignatures.xml:
xmlsecurity/source/helper/xmlsignaturehelper.cxx:672: X509Data cannot be parsed
The reason is that in XSecController::setX509Data() the value read from
the X509IssuerSerial element (a string generated by CryptoAPI) doesn't
match the value generated by NSS from the certificate parsed from the
X509Certificate element, so these are erroneously interpreted as 2
distinct certificates.
Try to make the EqualDistinguishedNames() more flexible so that it can
try also a converted variant of the DN.
(libxmlsec's NSS backend also complains that it cannot parse the DN:
x509vfy.c:607: xmlSecNssX509NameRead() '' '' 12 'invalid data for 'char': actual=34 and expected comma ',''
but it manages to validate the signature despite this.)
Change-Id: I4f72900738d1f5313146bbda7320a8f44319ebc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124287
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Otherwise the possible copy emitted compiled with CPU-specific
instructions might be chosen as the copy to keep and would be
used by generic code. See history for the Calc Kahan code.
Change-Id: Ifc1bbd8d9720d9effe05b8ff8ee5e804363939df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124257
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
as used in writer's bullets and numbering valuesets
Change-Id: I4ac028fa9ef71163f29024352bb4fb7aeef0865a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124273
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
similar to the select a template dialog in impress use:
* ActiveColor for selected + hover
* HighlightColor for selected or hover, with some transparency
for hover
Change-Id: I0b6dd9ff36a51e9ce3d8bc6deac3f35794a7d429
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124262
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
If we are filling *and* drawing border then we do the border
transparently, but if we're not filling we draw the border
without transparency? I can't see that this is intentional.
Change-Id: Idf8d84bed7f93b1fc4ee05ea56bc10c5e5c6e875
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124261
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
...and for now just silence all the new deprecation warnings
Change-Id: Ic6e04f4bade91a823872cd4e453c41ee1950bd77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124275
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
and just consider it as "mouse out of window"
Change-Id: I1910804a94608952de6f646560a3104d62b5a67b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124265
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
The value wasn't in config_host.mk.in, so it's never been used.
And also fix Calc Kahan CPU-specific code yet again :( .
Change-Id: Iacfd500e5a662b2b4b96a009d129a012d278a3ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124248
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>