Commit Graph
957 Commits
Author SHA1 Message Date
Eike Rathke cf8cfee9d4 Resolves: tdf#151886 Use default locale with English function names again
Automatically switching to en-US locale when using English
function names caused too much confusion. There also might be the
possibility that the '.' dot decimal separator clashes with the
inline array column separator in some locales.

A proper solution would make this user-specified and if set also
adjust the separators to the common English ones. For now keep the
default locale again as it previously was the case.

Change-Id: Ic4712c6609c14f35cf0d1d842ac7443806a6e115
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144924
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2023-01-01 20:26:05 +00:00
Eike Rathke 8e392437fd crashtesting: assert seen on loading forum-mso-en4-573860.xlsx
While resolving named expression Pinnacle3
IF(AND(Pinnacle1+Pinnacle2<>11,Pinnacle1+Pinnacle2<>22,Pinnacle1+Pinnacle2>9),SUM(MID(Pinnacle1+Pinnacle2,1,1),MID(Pinnacle1+Pinnacle2,2,1)),Pinnacle1+Pinnacle2)

where resolving and inserting named expressions Pinnacle1
IF(AND(SUM($Sheet1.$D$3:$E$3)<>11;SUM($Sheet1.$D$3:$E$3)<>22;SUM($Sheet1.$D$3:$E$3)>9);SUM(MID(SUM($Sheet1.$D$3:$E$3);1;1);MID(SUM($Sheet1.$D$3:$E$3);2;1));SUM($Sheet1.$D$3:$E$3))

and Pinnacle2
IF(AND(Logic1<>11;Logic1<>22;Logic1>9);SUM(MID(Logic1;1;1);MID(Logic1;2;1));Logic1)

with Logic1
IF($Sheet1.$E$3+NilaiTahun>10;SUM(MID($Sheet1.$E$3+NilaiTahun;1;1);MID($Sheet1.$E$3+NilaiTahun;2;1));$Sheet1.$E$3+NilaiTahun)

with NilaiTahun
IF(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1))<10;SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));1;1);SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));2;1))))

overall exceeds FORMULA_MAXTOKENS (8192) in the generated RPN
code, hence an ocStop is encountered as factor token.

(this cries for generating subroutine call token arrays where each
named expression could have their own RPN code and interim results
could be remembered for each while interpreting within one formula
cell; just dreaming..).

Change-Id: I744c4915a00849b107c7c25d7029aa19d976aa86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144048
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-12-15 23:21:52 +00:00
Noel Grandin 01c9e8808b use more string_view in formula
Change-Id: I3d9feafb0e2010f284a1700becbe9b701edc9849
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140697
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-28 11:28:53 +02:00
Noel Grandin 54e84cf2f7 small opt in FormulaTokenIterator
cheaper to init the stack with the first element, rather than calling
Push

Change-Id: Ia34f88b6534a663fae2ed08d0499d04d2f458847
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140137
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-19 11:59:03 +02:00
Eike Rathke 64f673238c A ColRowName (label) is a QuotedLabel is a SingleQuoted
Hence a ' is not escaped by \' but by '' doubling it.

See also ODFF 5.10 Quoted Label
https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html#__RefHeading__1017950_715980110

Apparently this was always wrong and even stored in files and
never correctly read/compiled back.

Change-Id: I94bdb7d1fdffe9bbd77cf443883dd76637be981b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139491
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-09-06 15:40:59 +02:00
Eike Rathke 5aaa0cda74 Resolves: tdf#142293 Implement the temporariness of GetOpCodeMap()
Change-Id: I7c587a68dbdeab9a8c8ed324ecae2eb5dd75b9df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139201
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-09-01 17:42:18 +02:00
Eike Rathke 603f9ce4f3 Related: tdf#142293 Introduce a protected FormulaCompiler::GetFinalOpCodeMap()
... to prepare having GetOpCodeMap() return a temporary if a final
doesn't exist yet. Currently just an alias.

Change-Id: I6fc100ae6223010e149e4af01fc7c17630930de7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139162
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-09-01 15:17:20 +02:00
Chris Sherlock 59210b075b tools: rename Rectangle::Justify() to Rectangle::Normalize()
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-24 10:55:15 +02:00
Caolán McNamara cd816c0b4e cid#1509296 silence Use after free
Change-Id: I6c1d8c0365cb59f3c63537c08e27a34bac111aaf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138705
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-22 21:23:50 +02:00
Stephan Bergmann 91ba9654ba Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit.  (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx.  The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now.  Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)

Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-18 17:10:19 +02:00
Eike Rathke 0a78f11fdd Related: tdf#135993 Use ScCompiler to create English OpCodeMap with AddIns
... instead of formula::FormulaCompiler base class that doesn't
know anything about AddIns, and copy AddIns along to new resulting
native map.

Change-Id: I9e4ece2f7450a561ac502ca1dbddaa5a697fa2fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137882
Tested-by: Eike Rathke <erack@redhat.com>
Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-06 19:37:38 +02:00
Eike Rathke 28c4c72a4e Related: tdf#135993 Destroy temporary OpCodeMap when reading config
Initialized at FormulaCompiler base class instance it lacks AddIn
mapping and a still existing OpCodeMap prevents necessary
reinitialization from derived ScCompiler instance later.

Change-Id: I0c2db41dd45829abfb8460730264f097ab76ab2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137881
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-06 11:19:01 +02:00
Eike Rathke a56d0c3471 Add known but not in AddInMap English names for GRAM_API, tdf#150253 follow-up
Change-Id: I1edc2a979946078e4548c0933f9b64b7a08a7e6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137773
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-04 23:43:20 +02:00
Eike Rathke 86ed0105a4 Resolves: tdf#150253 Add English names for GRAM_API AddIn functions
... so not only the com.sun.star.sheet.addin.* programmatic names
are recognized for XCell::setFormula() non-localized API calls.

Change-Id: I1f1f3f45001360445b25765312782f04ee079ee9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137769
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-08-04 02:50:59 +02:00
Andreas Heinisch bb4314aa21 tdf#146781 - Function wizard: search desired function also in the description
Change-Id: I12f2fd5bf3497505a8652ab98bccb495a619333d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136905
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-07-09 14:39:40 +02:00
Noel Grandin 26fbf6eef1 clang-tidy modernize-pass-by-value in formula
Change-Id: I275f96bb8b24838538ac88532508ad7dbd127eae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-23 09:58:23 +02:00
Caolán McNamara eacd9b08fa crashtesting: assert seen with forum-mso-de-53682
not reproducible for me, but appears to be an empty string here
sometimes.

Change-Id: I8465f178cc7e5a6efdc08c1d15c154eeb2277c7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136287
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-22 21:02:00 +02:00
Eike Rathke 9aab475e22 Related: tdf#142293 tdf#141495 Allow additional symbols in externals map
... to repair broken saved as Excel documents with saved Add-In
programmatic names, by adding them as upper-cased symbols. Previously,
adding such name was rejected if the Add-In already existed in the
reverse map. Now multiple one-way aliases are accepted. The upper-case
programmatic name was already attempted to be added for all Add-Ins of
the collection (for the non-UI case via
fillFromAddInCollectionUpperName()) but the pre-known Add-Ins are mapped
before so existed already and those names were rejected, as they
shouldn't be necessary. Except for broken documents..

Change-Id: I3cb6848779362de3446581528d2f6e6f19af9ec8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136072
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-06-18 13:49:59 +02:00
Eike Rathke 6079bf6879 Add binary operators to ForceArrayReturn handling, tdf#149378 follow-up
So ={1;2} or =-{1;2} or ={1;2}+3 or ={1;2}+{3;4} or ={1;2}+A1 are
propagated. But ={1;2}+A1:A2 is not because the range reference
should be implicit intersection not to be forced to array mode
unless user says so.

This also adds low level ocPush with svMatrix returning always
ParamClass::ForceArrayReturn in FormulaToken::GetInForceArray() so
any derived like ScMatrixToken inherit that.

Change-Id: Ida24414a795d6609bf01e361f96438f9e7f7f66c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135360
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-06-03 17:21:22 +02:00
Eike Rathke a15ce15709 Propagate ForceArrayReturn only for Value parameters, tdf#149378 follow-up
So in SUM(MUNIT(3)) the SUM does not get ForceArrayReturn.

Same as in

    commit bac202275b
    CommitDate: Fri Jun 3 13:08:11 2022 +0200

        Propagate inline array only for Value parameters, tdf#149378 follow-up

Change-Id: I60b17352c6e2f4fe608070c07f538456ed863156
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135358
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-06-03 15:34:54 +02:00
Eike Rathke bac202275b Propagate inline array only for Value parameters, tdf#149378 follow-up
So in SUM({1;2}) the SUM does not inherit it, but in ABS({-1;-2})
the ABS still does. This was always off, but so far didn't matter.

Change-Id: I00dfcd4b71b8dea943475bb5a593224312258e31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135349
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-06-03 13:08:11 +02:00
Eike Rathke dad1d7182e Resolves: tdf#149378 Force array input if outer function returns array/matrix
So the result will actually display as full matrix, or in the cell
range marked prior to input, instead of just the top left element
in one cell, without having to close the input with
Shift+Ctrl+Enter to force array mode. The previous behaviour can
be forced by pre-selecting/marking one cell, which also worked
previously when closing as array input.

Change-Id: I81c079ce02e0c8d0536617ca6882fb470a352441
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135278
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2022-06-02 00:33:15 +02:00
Noel Grandin 5fe702f1b6 add o3tl::toUInt32
Change-Id: I07f11bf12fbe1d1c2d812fa0965d6e632e1e1aba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133437
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-26 19:37:20 +02:00
Caolán McNamara e00032ba6a add toId/fromId to tidy up some ugly casting
Change-Id: I70f34ac5e9b5d2f2d6c0375e823908eaa2e540b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129487
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-04 15:02:03 +01:00
Gabor Kelemen e3206e6740 Recheck modules [e-f]* with IWYU
See tdf#42949 for motivation

Change-Id: I49a3ce10dee4b03f99156f5b641f69448e1d5617
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128479
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-01-17 01:33:35 +01:00
Noel Grandin 489bce5986 loplugin:flatten in filter..framework
Change-Id: I15a577b3c6da03001bbbf2c2b43b29b41c4007c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127234
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21 17:14:14 +01:00
Gabor Kelemen 807f238f12 Recheck include/[e-r]* with IWYU
See tdf#42949 for motivation

Change-Id: I44e4e3a88067c1c29ce9d563b22741e984b43576
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126964
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-12-20 10:06:34 +01:00
Noel Grandin ec1c4c4930 O[U]String::replaceAt overloads that take string_view
which results in lots of nice string_view improvements picked up by the
plugins

Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-23 14:00:08 +01:00
Mike Kaganski 8565e4ef18 Prepare for removal of non-const operator[] from Sequence in formula
Change-Id: I9baa0ac24865d54503c21545109163bde11eac47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124367
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-30 08:02:43 +02:00
Noel Grandin 6a3cb15452 loplugin:moveparam in formula
Change-Id: I358f5e8031c235be76bb96591bf33f59a39b00ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123350
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-11 12:19:03 +02:00
Noel Grandin 7fd3c5e8e5 remove GetCharClassPtr from SvtSysLocale
we already have GetCharClass and we never return a nullptr

Change-Id: I3cb79bc60be614c0474ecfdaad17991f2ecb6368
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122208
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-17 08:40:59 +02:00
Noel Grandin 45b17d9d5b store ScTokenArray by value in SharedFormulaBuffer
Change-Id: Ibff3c2fea3cadc234266953ab15ae5f25c4ac1e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121626
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-04 14:03:19 +02:00
Caolán McNamara 105b3756d8 cid#1489780 Explicit null dereferenced
Change-Id: Ia6e34b48cdcc4b011c46c576269cdeffab4821ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120100
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-06 12:49:39 +02:00
Noel Grandin 14cfff500e Pass context and resource string down to boost::locale separately
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.

Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-05 09:39:11 +02:00
Eike Rathke 516318113f Resolves: tdf#76310 Preserve whitespace TAB, CR, LF in formula expressions
Allowed whitespace in ODFF and OOXML are
U+0020 SPACE
U+0009 CHARACTER TABULATION
U+000A LINE FEED
U+000D CARRIAGE RETURN

Line feed and carriage return look a bit funny in the Function Wizard if
part of a function's argument but work. Once a formula is edited, CR are
converted to LF though, probably already in EditEngine, didn't
investigate.

Change-Id: I6278f6be48872e0710a3d74212db391dda249ed2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119635
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2021-07-28 18:56:29 +02:00
Eike Rathke 6eb9fde88a ODFF: eliminate spaces between function name and initial opening parenthesis
Same as for OOXML, they are disallowed in ODFF as well.

Change-Id: Iff78a901838092a3ee32221fdaadd28ee50f7646
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119577
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2021-07-28 11:42:30 +02:00
Noel Grandin bfc1600c6a loplugin:indentation improve checks for brace alignment
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-28 10:47:34 +02:00
Noel Grandin 0771ac00ac use string_view in the Translate API
Change-Id: I0bb0ea9d39ed623928060ffd3f2e2bc36ba33209
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117272
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-17 14:32:11 +02:00
Julien Nabet c7a9a1dbe2 Simplify Sequences initializations (desktop/e*/filter/forms/formula/fpicker)
includes removing of unused TOKEN_SEP

Change-Id: Ic72d9d94bd8d07232699ee4d948f3b203d524491
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116833
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-08 17:08:06 +02:00
Eike Rathke b9aefcb99c Merging an unsupported formula grammar is worth a real assert()
Change-Id: I9bce5bc590e3348d1fb0c81a9ec74cec2944d38a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116617
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2021-06-02 19:50:22 +02:00
Caolán McNamara 9940f077fd add Toggleable as a separate thing to a Button
and inherit ToggleButton from both it and Button

Change-Id: If0e500aca8d0ffa087cb5e2bfc1786372fbff4eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115921
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-21 18:19:58 +02:00
Caolán McNamara fa3266f9bf use toggle instead of click for CheckButton
Change-Id: Iec5139cc2b739a624db7f10854a29e191b509286
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115889
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-21 10:49:57 +02:00
Noel Grandin 86b345a963 tdf#79049 speed up OOXML workbook load (4)
Optimise LocaleDataWrapper for reads by initialising the
data we in the constructor, so we don't need any kind of
locking

Reduces load time from 34s to 28s.

Change-Id: I4bd3bddb30b70ba015fe5b1372534f9507762b74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114960
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-02 10:00:43 +02:00
Caolán McNamara db1cf11166 undo blocking emitting focus events during grab_focus
revert...

commit f97dbac73f
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Wed Jun 26 21:00:02 2019 +0100

    infinite focus changing in toc biblio page

which blocked calling focus-changed callbacks when grab_focus is called
explicitly analogous to how we block value-changed callbacks setting
values through code but don't block them when the value is changed by
user interaction.

In retrospect that was a poor choice, so revert that and subsequent
workarounds in favour of just not calling gtk_grab_focus if the widget
already has focus.

checked:
a) tdf#138427 focus set to wrong input box
b) tdf#138078 only call GetFocus if we gained focus from an unfocused state
c) tdf#137993 ensure the toplevel vcl::Window is activated
d) tdf#136941 call focus in handler explicitly

Change-Id: I411480e2d627aa9995fb41b0aa17e9fb6d34d73f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114524
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-23 11:58:00 +02:00
Noel Grandin 6a0a0a4d78 use more string_view in comphelper::string
Change-Id: I5d27824694e38de540e5f1fcd8704f8777f65140
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114261
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-19 15:04:33 +02:00
Vincent LE GARREC 90c978f839 tdf#124176 Use pragma once in f*
filter, forms, fpicker, framework

Change-Id: I55a25ad2dc3749e63465e638e8eeea3c322eabbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112047
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-03-23 13:07:09 +01:00
Caolán McNamara c56e0c791a move async focus-in/focus-out workaround to known client that needs it
and for the normal case process immediately. Use-case is the
bibliography editor, modified uncommitted entry, click in browser
column margin area to select a new row, the entry should commit its
old contents to the old row before filling from the new row

Change-Id: Ib41d96afcfa86bcd1075b9512d4cfab593afa66d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111152
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-18 21:04:32 +01:00
Caolán McNamara 7c6117235c ofz#30812 protect NextToken calling NextToken with RecurseGuard
and bump limit from 42 to 100

Change-Id: I0a35b32e7ab74a4148197ba48c52b6714bdb449d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110756
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-11 12:19:02 +01:00
Caolán McNamara 7dfb69f534 merge the two identical nRecursionMax expressions
Change-Id: Ie8fdb999e9d7420f0e8bb27e9fd716148f7fc9f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110755
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-11 12:18:36 +01:00
Noel Grandin aa98ed61a7 tdf#92456 improve VLOOKUP perf
shave 5% of the time here - ref-counting triggered by copying
svl::SharedString is significant, so return by const&
instead of by value

Change-Id: Ic702632da45d75dddab33d6ce1e6f1097ff70de9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109900
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-25 17:54:54 +01:00