Age | Commit message (Collapse) | Author |
|
Change-Id: I8d6999d085cdf7eef570d7274f0230b400872c7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108474
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
|
|
Change-Id: I6c409a297116ffaefb8d1c1fb82286964d85e8cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108479
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I044dd21b63d7eb03224675584fa143009c6b6008
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108418
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
See the comment at the top of compilerplugins/clang/stringliteralvar.cxx for
details.
(Turned some affected variables in included files into inline variables, to
avoid GCC warnings about unused variables.)
Change-Id: Ie77219e6adfdaaceaa8b4e590b08971f2f04c83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It is required to execute VBA scripts.
Change-Id: Ibaafc62ecedcefcd0596c701728039783b5a0de7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107891
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
The ".uno:RunMacro" command it is needed for
client side to show the Macro Selector Dialog.
Change-Id: I8f01b9f5cc985119c9215734a6484ed7a0e30080
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107886
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
...for LIBO_INTERNAL_ONLY. These had been missed by
1b43cceaea2084a0489db68cd0113508f34b6643 "Make many OUString functions take
std::u16string_view parameters" because they did not match the multi-overload
pattern that was addressed there, but they nevertheless benefit from being
changed just as well (witness e.g. the various resulting changes from copy() to
subView()).
This showed a conversion from OStringChar to std::string_view to be missing
(while the corresponding conversion form OUStringChar to std::u16string_view was
already present).
The improvement to loplugin:stringadd became necessary to fix
> [CPT] compilerplugins/clang/test/stringadd.cxx
> error: 'error' diagnostics expected but not seen:
> File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 43 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:42): simplify by merging with the preceding assignment [loplugin:stringadd]
> File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 61 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:60): simplify by merging with the preceding assignment [loplugin:stringadd]
> 2 errors generated.
Change-Id: Ie40de0616a66e60e289c1af0ca60aed6f9ecc279
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107602
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
api was extended and now we send no only
the latest state of a current window (may be skipped),
but also commands like: close window <ID>.
Make sure commands will not be skipped when new dialog
appears.
Change-Id: I17fa0f09d7ef78cbbcbf8786182dfeb92e6021ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107165
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107350
Tested-by: Jenkins
|
|
With the VCL OpenGL backend code removal also isVCLOpenGLEnabled()
will be removed, so there won't be anything to call this. And
reaching this point in soffice_main takes long enough for the call
to be non-blocking, so there's no good reason to delay it anyway.
Change-Id: I8f7fee3d8d53bd632672afd8e8941ee7f922f8e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107361
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
...avoiding construction of an OString from a potentially null pointer, which
relied on undocumented behavior of the OString ctor
Change-Id: I8f65375ba29cf345b35409019a39de1bac397625
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107278
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I6800e23ead2767d245d5da71d2d40e0f8a6d7e1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106859
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8ba1214500dddaf413c506a4b82f43d63cda804b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106559
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a problem when dealing with the large
pdfs which take long amount of time to save.
Adding or removing annotations do change the state of
IsModified()
Change-Id: I872cb3aec5188986cc13c6659e1bb741a6870409
Signed-off-by: Mert Tumer <mert.tumer@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106778
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 455cd8fe00d1c756da1bb50a50bac68a1ad645ef)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106741
Tested-by: Jenkins
|
|
Change-Id: I4b58ab74003065a63e4274293b868c909f4f583f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105428
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit cc7bf1755c31fcd4c388f25e642c37d0e2fd758a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106810
Tested-by: Jenkins
Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
|
|
Change-Id: I7c1cc683e8c5d5bdc00c1e3d3d0a2c85846bbda0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106560
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
which means that some call sites have to change to use
unicode string literals i.e. u"foo" instead of "foo"
Change-Id: Ie51c3adf56d343dd1d1710777f9d2a43ee66221c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106125
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Fixes fallout from 4fd2679a7a2b0494da84f344ab97b835edf73377. Otherwise
the SfxViewShell doesn't know the id of its document, and counting the
number of views of a document in SfxLokHelper::getViewsCount() fails.
Change-Id: I16ba209463281aae4ab9fdfd4ee1cd6b98205774
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102025
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106254
Tested-by: Jenkins
|
|
Instead of using the current view to set
the DocId, we instead make sure that the ShellView
object has the DocId set at construction time.
This turned out to be necessary in at least one
case (which has a unit-test that failed), which
is when events fired during the creation of a
new view. The cursor position is notified
before we have a chance to set the DocId and
because of that we miss the notifications (or
worse, we end up sending them to all other
documents' views in an effort to fix this bug).
This approach is clean and always guarantees that
all views have the correct DocId set as soon as
possible and that all notifications are sent
as expected.
A unit-test is added to exercise mult-document
usage, which exposed a number of bugs and issues
that have been addressed in this patch.
Change-Id: Icf5145fb1dabd0d029368310c2b9bf73ae927ccc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99975
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Ashod Nakashian <ash@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106252
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
This reduces the stringification and reuses the notificaiton
helpers to reduce code duplication.
Change-Id: Icf9f9c50f3eeee61a0ded741d39fed37cfcc8da1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99972
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Ashod Nakashian <ash@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106221
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
(at least not in general)
Change-Id: I71337b53dc9735e90a37ee532d0a8a08797b518c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
not just functions
Change-Id: Icca295dd159002b428b73f2c95d40725434f04d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105789
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Alignment should be done for watermark in online side
this breaks the positioning.
Change-Id: I202f671269aaacd266f6443a5e336d987f680a72
Signed-off-by: Mert Tumer <mert.tumer@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105853
Tested-by: Jenkins
|
|
Change-Id: I39856d77a2ef506612b68fccfd0ba9c9d6b1debc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105661
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: I1d2c967b68113d2528b80e91c32170f749ed9335
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104434
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105738
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
Add new methods "subView" to O(U)String to return substring views
of the underlying data.
Add a clang plugin to warn when replacing existing calls to copy()
would be better to use subView().
Change-Id: I03a5732431ce60808946f2ce2c923b22845689ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105420
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is only for the 64-bit windows platform.
I don't see the point in messing with the 32-bit platforms, they are
(a) become more and more rare
(b) unlikely to even have enough available process memory to load extremely large calc spreadsheets
The primary problem we are addressing here is bringing
Windows-64bit up to same capability as Linux-64bit when it
comes to handling very large spreadsheets,
which is caused by things like tools::Rectangle using "long",
which means that all the work done to make Libreoffice on 64-bit
Linux capable of loading large spreadsheets is useless on Windows,
where long is 32-bit.
The operator<< for tools::Rectangle needs to be inside
the tools namespace because of an interaction with the cppunit
printing template stuff that I don't understand.
SalPoint changed to use sal_Int32, since it needs to be
the same definition as the Windows POINT structure.
Change-Id: Iab6f1af88847b6c8d46995e8ceda3f82b6722ff7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104913
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I8f3cd05dbd86bd22fd84d767adc44fc2b0c89404
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105468
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I1419af229a67d6ebb1cf2c63757656beb3f512db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105142
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
<https://curl.haxx.se/libcurl/c/curl_easy_init.html> states that each call to
curl_easy_init "MUST have a corresponding call to curl_easy_cleanup". (And
<https://curl.haxx.se/libcurl/c/curl_easy_cleanup.html> states: "Passing in a
NULL pointer in handle will make this function return immediately with no
action.")
The call to curl_easy_cleanup appears to be missing ever since the code calling
curl_easy_init was introduced with 9c3b05f2d571b58ee2322a942162ecec654544dc
"improve update checker and update downloader code".
Change-Id: I5757efe131f73783c6f66a77d07676b8ce440f9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104711
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I778b5b007d4edce946e8b4c26e5a07f12103a968
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104707
Tested-by: Jenkins
Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
|
|
Add "freebsd_powerpc64" case to the checkOSandCPU switch in dp_platform.cxx.
Change-Id: Iedee32ecb5b49ee99cd5cf7f8d7e0e33aef1c312
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104616
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I15760da167e7d0b4c410acccd1c8c90210e28b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104623
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
partly to flush some use of "long" out the codebase,
but also to make it obvious which units are being used
for angle values.
Change-Id: I1dc22494ca42c4677a63f685d5903f2b89886dc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104548
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
AFAICT all drawing is done with solarmutex held, at least Skia
asserts that and this case is the only problem I've found. Here
the solarmutex is not held because of c5cf78e1529970c04e1999e1
that unlocks it for DeInit(), but that call leads to closing
the splashscreen.
Change-Id: I453f71cc53fe229e539a862927a58fd4161c40d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104423
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Seems that this specific piece of code was introduced in
commit bc66bf4608557d757555aef1f46abf8a15c3538b by Noel Grandin,
where `if (true)` wrapper was removed and `if (!true) return;`
seems to have been left over.
But the original `if (true)` statement was introduced in commit
4d258787559426e1e2a0279888eb669622889899 by Michael Meeks, where
`if ( m_aBootstrapError == BE_OK )` before starting IPC thread
was replaced with `if (true)`. I asked on IRC and they were not
sure for the reason of this change, so I will add Michael Meeks
as a reviewer of this patch, just in case.
Change-Id: I1ffb781464fa2fde152eb21bc61e4b244e8812d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104530
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
|
|
REQUEST_START is triggered with --show.
Change-Id: I83fec4f0ae4df15ed7974f484b3001e886f82a65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104217
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I97c5bbb929a2a4a029af4e6cb0fd571bbc2b698b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104030
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
gtk is creating a11y objects on widgets changing parents so manage when that
can happen to avoid premature creation of custom widget a11y objects
Change-Id: I4879a93a897b2e4084cf6af0c9c0b0f0c1062254
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104025
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
This helps in online where autosave after user
closed view with chart editing active caused
document to be broken and not allowing to open again.
Change-Id: Iab6a9bfe2c5f67c155ee97726e752c83fc47af5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103091
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104011
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: I8b5cde993c13e0b7c8c830b1ff698933a6b7cfd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103863
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8ac760a1215dbaaa76923dc07c21cc971f735412
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103856
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I25ca760ae15114ada621d928997a7117401c75d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103811
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I57f77f127f7cb45fb181b755b40873d47015e5b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91059
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
It passed "make check" on Linux
Change-Id: I4d3ce4571881fd75bcdf3b70f3b34fd71e573099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103246
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I8a4e5f63ee6ea5e560fae8a5d3602178f2b58b36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102827
Tested-by: Jenkins
Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
|
|
do more like
commit 121771e37f7e2de41cd5643475861062bf25627b
Date: Mon Sep 21 09:17:54 2020 +0200
Make some OUStringLiteral vars constexpr
cause coverity can live with that
Change-Id: I9efd7f848289c4865997a44c6780373068422227
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103147
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
This fixes the following issue in Online:
When a save is performed while a cell is still edited the save icon
does not reflect the correct state of the document: it shows that
the document is dirty although it is not. This is generated by two facts:
1. The status cache is avoided when sending the -dirty- status right
after the cell editing is finished. Because the cache has an old value
of -false- for ModifiedStatus, the notification that is sent after saving,
with -false- value, is ignored. We should not avoid the status cache.
2. Because there is a mechanism that keeps only the last notification
value for a status change in the queue that keeps messages that were not
sent yet (deduplication), the .uno:ModifiedStatus message with a value of -true-
that is enqueued right after the cell edit is finished is replaced by the same
message with a value of -false- that is enqueued after the save is finished.
This happens if the flush mechanism doesn't occur between them.
Change-Id: I3348bf230ba53a154c29e7d8ab064df7694adeae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101948
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
When there is a name conflict we should take
currently visible window.
Change-Id: Iaccf03a78b083ecaca0ee6aa538674a6de093a4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102903
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102983
Tested-by: Jenkins
|
|
Change-Id: I4a357ee2c542884149d7460bf2be66e5863fbaed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102882
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...from which an OUString can cheaply be instantiated. This is the OUString
equivalent of 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into
a consteval'ed, static-refcound rtl_String". Most remarks about that commit
apply here too (this commit is just substantially bigger and a bit more
complicated because there were so much more uses of OUStringLiteral than of
OStringLiteral):
The one downside is that OUStringLiteral now needs to be a template abstracting
over the string length. But any uses for which that is a problem (e.g., as the
element type of a container that would no longer be homogeneous, or in the
signature of a function that shall not be turned into a template for one reason
or another) can be replaced with std::u16string_view, without loss of efficiency
compared to the original OUStringLiteral, and without loss of expressivity.
The new OUStringLiteral ctor code would probably not be very efficient if it
were ever executed at runtime, but it is intended to be only executed at compile
time. Where available, C++20 "consteval" is used to statically ensure that.
The intended use of the new OUStringLiteral is in all cases where an
object that shall itself not be an OUString (e.g., because it shall be a
global static variable for which the OUString ctor/dtor would be detrimental at
library load/unload) must be converted to an OUString instance in at least one
place. Other string literal abstractions could use std::u16string_view (or just
plain char16_t const[N]), but interestingly OUStringLiteral might be more
efficient than constexpr std::u16string_view even for such cases, as it should
not need any relocations at library load time. For now, no existing uses of
OUStringLiteral have been changed to some other abstraction (unless technically
necessary as discussed above), and no additional places that would benefit from
OUStringLiteral have been changed to use it.
Global constexpr OUStringLiteral variables defined in an included file would be
somewhat suboptimal, as each translation unit that uses them would create its
own, unshared instance. The envisioned solution is to turn them into static
data members of some class (and there may be a loplugin coming to find and fix
affected places). Another approach that has been taken here in a few cases
where such variables were only used in one .cxx anyway is to move their
definitions from the .hxx into that one .cxx (in turn causing some files to
become empty and get removed completely)---which also silenced some GCC
-Werror=unused-variable if a variable from a .hxx was not used in some .cxx
including it.
To keep individual commits reasonably manageable, some consumers of
OUStringLiteral in rtl/ustrbuf.hxx and rtl/ustring.hxx are left in a somewhat
odd state for now, where they don't take advantage of OUStringLiteral's
equivalence to rtl_uString, but just keep extracting its contents and copy it
elsewhere. In follow-up commits, those consumers should be changed
appropriately, making them treat OUStringLiteral like an rtl_uString or
dropping the OUStringLiteral overload in favor of an existing (and cheap to use
now) OUString overload, etc.
In a similar vein, comparison operators between OUString and std::u16string_view
have been added to the existing plethora of comparison operator overloads. It
would be nice to eventually consolidate them, esp. with the overloads taking
OUStringLiteral and/or char16_t const[N] string literals, but that appears
tricky to get right without introducing new ambiguities. Also, a handful of
places across the code base use comparisons between OUString and OUStringNumber,
which are now ambiguous (converting the OUStringNumber to either OUString or
std::u16string_view). For simplicity, those few places have manually been fixed
for now by adding explicit conversion to std::u16string_view.
Also some compilerplugins code needed to be adapted, and some of the
compilerplugins/test cases have become irrelevant (and have been removed), as
the tested code would no longer compile in the first place.
sal/qa/rtl/strings/test_oustring_concat.cxx documents a workaround for GCC bug
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96878> "Failed class template
argument deduction in unevaluated, parenthesized context". That place, as well
as uses of OUStringLiteral in extensions/source/abpilot/fieldmappingimpl.cxx and
i18npool/source/localedata/localedata.cxx, which have been replaced with
OUString::Concat (and which is arguably a better choice, anyway), also caused
failures with at least Clang 5.0.2 (but would not have caused failures with at
least recent Clang 12 trunk, so appear to be bugs in Clang that have meanwhile
been fixed).
Change-Id: I34174462a28f2000cfeb2d219ffd533a767920b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102222
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|