Commit Graph
1616 Commits
Author SHA1 Message Date
Andrea Gelmini cbdd82ef1d Remove execution bits from data files
Change-Id: I2d3e00a93cb4f089c043c0067c8026cc9fc78301
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132329
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2022-03-31 14:51:18 +02:00
Samuel Mehrbrodt 7efd22c912 Add UNO API for custom Jump Lists
Allows adding custom jump list categories to Windows Task Bar

Change-Id: I13b6c3ad5de386cf74e2b346f10889bc46a8ad4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131540
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2022-03-30 12:14:28 +02:00
Stephan Bergmann c1ac79906b Handle symlinks
LIBREOFFICE-PQ967WYM

Change-Id: I5e4df92401e009fe6b7238565d1223cfb77d10ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130930
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-03 18:59:16 +01:00
Caolán McNamara 3e67678af2 add to suffix denylist
add the macOS specific suffixes from
https: //support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments

Change-Id: I3a834694e3aefb757974cd00ade009874c68c8b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130397
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-24 08:54:18 +01:00
Caolán McNamara 4751853b19 add to suffix denylist
mostly https: //support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments

but see also:
https://www.howtogeek.com/137270/50-file-extensions-that-are-potentially-dangerous-on-windows

Change-Id: Ibe3abbdcdb6f82a73d245318ef97d86789d00523
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130394
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-23 15:41:41 +01:00
Caolán McNamara ff66c1d82b sort these alphabetically
Change-Id: I03f89dd78908d08534413c0fe6a753e3346b3738
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130336
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-22 13:40:46 +01:00
Renwa Hiwa 0b0b1820d2 Better handling of msi
LIBREOFFICE-SK4E5D8N

Change-Id: I44f25a47ab6ffeb9d2b679874c8c96af1319eb2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130335
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-22 12:40:12 +01:00
Renwa Hiwa 7d92ec5ae1 Better handling of terminals
LIBREOFFICE-3MQTR80G

Change-Id: Ifa52d7f65aae473056202b46788c5870a8ce38c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130085
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-17 19:43:46 +01:00
Caolán McNamara 0a1d94d58d Revert "add webloc and url extensions"
This reverts commit e4c3fa614d.

Reason for revert: there's no evidence that they should be in this list

Change-Id: I8aa5f8a6beaf578feb76684cad5f6a69e17e2b2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129624
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-09 20:57:51 +01:00
Caolán McNamara e4c3fa614d add webloc and url extensions
Change-Id: I02b959f6bcdff5657525a6fd45d12c31315c1a68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129715
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-09 13:05:44 +01:00
Renwa Hiwa 7484c3393d Better handling of inetlocs
LIBREOFFICE-39BBF6YM

Change-Id: Iadae856a524a0ccda238785f60c8f3459e7b6157
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129714
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2022-02-09 13:05:28 +01:00
Caolán McNamara f6180e3e87 rhbz#2047319 drop the SolarMutex before QApplication::init()
https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/24#note_383915

reproducible with with qt5-qtwayland-5.15.2-17.fc35.x86_64 and
export OOO_FORCE_DESKTOP=plasma5
export SAL_USE_VCLPLUGIN=gtk3

Change-Id: Icdf6b8709865c723c266e6400169b33639a1b0e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129373
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2022-02-03 17:16:12 +01:00
Jan-Marek Glogowski 972aa39fb9 WASM open links in new browser tabs
I quickly gave up trying to understand what exactly clashes
between the Emscripten macros and OUString templates /
initializers. Not sure it can actually be "fixed".

Also disables the makeshared clang compilerplugin; currently
there is no way to get rid of all the false positive hits
when assigning the std::shared_ptr from a function instead of
a constructor call.

Change-Id: I8b13f179629ea63ff221584030556d2bedadc01b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128604
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20 10:26:04 +01:00
Mike Kaganski d0445802a8 Use WindowsErrorString instead of FormatMessageW
Change-Id: I183f19f6abd4ca3f54d13533c8551deb09cd9458
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128118
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-01-08 10:07:54 +01:00
Mike Kaganski d75bf2c770 tdf#146554: use GetModuleHandleExW instead of GetModuleHandleW
This allows to avoid use of module name when obtaining current module
handle, which needs to be synchronized and thus is error-prone.

Change-Id: I2f0e0af7f616c3582b0a3271cf9e06420a9dfc8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127993
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-01-05 13:12:00 +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 c6af59b234 Prepare for removal of non-const operator[] from Sequence in shell
Change-Id: Ie7792d0aa3f404d9177a1eb6f75569577fc3d6a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124388
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-30 23:18:51 +02:00
Stephan Bergmann ad1557f5d7 A more lightweight O[U]StringConcatenation
...compared to a full-blown O[U]String, for temporary objects holding an
O[U]StringConcat result that can then be used as a std::[u16]string_view.

It's instructive to see how some invocations of operator ==, operator !=, and
O[U]StringBuffer::insert with an O[U]StringConcat argument required implicit
materialization of an O[U]String temporary, and how that expensive operation has
now been made explicit with the explicit O[U]StringConcatenation ctor.

(The additional operator == and operator != overloads are necessary because the
overloads taking two std::[u16]string_view parameters wouldn't even be found
here with ADL.  And the OUString-related ones would cause ambiguities in at
least sal/qa/rtl/strings/test_oustring_stringliterals.cxx built with
RTL_STRING_UNITTEST, so have simply been disabled for that special test-code
case.)

Change-Id: Id29799fa8da21a09ff9794cbc7cc9b366e6803b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122890
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-03 19:50:44 +02:00
Stephan Bergmann bf59a45b04 Extended loplugin:referencecasting/redundantcast (clang-cl): shell
Change-Id: Iee72782ca3f9e536b391cc45d910792f66ce01a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122884
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-09-30 15:09:21 +02:00
Stephan Bergmann a93c3f2eb0 GError::message is UTF-8
This caused CppunitTest_sw_dialogs_test to fail for LO_TEST_LOCALE=or hitting

> sal/rtl/ustring.cxx:530: void rtl_uString_newFromAscii(rtl_uString**, const char*): Assertion `static_cast<unsigned char>(*pCharStr) < 0x80' failed.

at

> #4  0x00007fd18a844f74 in rtl_uString_newFromAscii(rtl_uString**, char const*) (ppThis=0x7ffcb73e6e90, pCharStr=0x6191180 "ସମୟ ସୀମା ପହଞ୍ଚିଯାଇଛି") at sal/rtl/ustring.cxx:530
> #5  0x00007fd1525af9c1 in rtl::OUString::createFromAscii(char const*) (value=0x6191180 "ସମୟ ସୀମା ପହଞ୍ଚିଯାଇଛି") at include/rtl/ustring.hxx:3328
> #6  0x00007fd1525ad026 in (anonymous namespace)::GErrorWrapper::~GErrorWrapper() (this=0x7ffcb73e6f38, __in_chrg=<optimized out>) at shell/source/sessioninstall/SyncDbusSessionHelper.cxx:35
> #7  0x00007fd1525ad6a5 in (anonymous namespace)::request(char const*, com::sun::star::uno::Sequence<rtl::OUString> const&, std::u16string_view) (method=0x7fd1525b481d "InstallFontconfigResources", resources=uno::Sequence of length 1 = {...}, interaction=u"hide-finished") at shell/source/sessioninstall/SyncDbusSessionHelper.cxx:91
> #8  0x00007fd1525ada9d in shell::sessioninstall::SyncDbusSessionHelper::InstallFontconfigResources(com::sun::star::uno::Sequence<rtl::OUString> const&, rtl::OUString const&) (this=0x5d22380, resources=uno::Sequence of length 1 = {...}, interaction="hide-finished") at shell/source/sessioninstall/SyncDbusSessionHelper.cxx:158
> #9  0x00007fd178670daa in psp::PrintFontManager::autoInstallFontLangSupport(Timer*) (this=0x2e3ed90) at vcl/unx/generic/fontmanager/fontconfig.cxx:962
> #10 0x00007fd178670cd9 in psp::PrintFontManager::LinkStubautoInstallFontLangSupport(void*, Timer*) (instance=0x2e3ed90, data=0x2e3efa0) at vcl/unx/generic/fontmanager/fontconfig.cxx:956
> #11 0x00007fd178341e03 in Link<Timer*, void>::Call(Timer*) const (this=0x2e3efc0, data=0x2e3efa0) at include/tools/link.hxx:111
[...]

(But probably better to use the lenient OUString-from-rtl_TextEncoding ctor
rather than OUString::fromUtf8, in case GError::message happens to not contain
proper UTF-8 after all, which would make the latter assert.)

Change-Id: I61fede4576988c5f7f35bb071ab3f2c0e7a15aa1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122599
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-09-24 20:53:42 +02:00
Noel Grandin 34a9f93018 clang-tidy:readability-redundant-member-init
Change-Id: I396b83c089fef3aeb7789c17a3013ce61691504e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121489
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02 16:06:48 +02:00
Caolán McNamara 626cf24313 drop final boost::noncopyable use
we replaced all the others, so replace this one too

Change-Id: If744a834e754126921e392d32af44797bd5d634d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120278
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-10 20:24:00 +02:00
Stephan Bergmann 43542cc07e Missing include
(for std::unique_ptr, with recent libstdc++ 12 trunk)

Change-Id: I61b7823dd740ea7cdfe0d7403a50ac73b24d1c4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120229
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-10 07:39:00 +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
Stephan Bergmann 7d5346eb09 -Werror,-Wunused-but-set-parameter (clang-cl 13 trunk)
...revealing that these places apparently wanted to assign to *pClassID rather
than pClassID ever since their introduction with
b718f390bf "INTEGRATION: CWS desktintgr01" and
9b1b1b0081 "INTEGRATION: CWS desktintgr02"

Change-Id: I672684739fd2722c5e804f47790884174c576369
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117840
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-06-25 21:10:28 +02:00
Linus Heckemann 85462ef7ae tdf#108591 Don't hardcode xdg-open path
Change-Id: I6f32433284948e42798c3535db64b4ad48295d35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110530
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28 11:25:25 +02:00
Arnaud Versini 7a4fffb19f shell : use std::mutex in CmdMailMsg
Change-Id: I2aac780ce17e327a2f5ddbc835583bad1056bfc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114244
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-05-20 12:02:32 +02:00
Stephan Bergmann 4bea744971 loplugin:noexcept (clang-cl)
Change-Id: Ife669f959358992b547b408ab5d1f6bf1c1d14bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115744
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-19 08:53:34 +02:00
Stephan Bergmann 3260edbeb5 loplugin:stringadd (clang-cl)
Change-Id: Id7c2db4abcf947c4efa0296df29feca2c36d3cf8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114692
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-04-27 15:45:27 +02:00
Noel Grandin 7049328fb2 loplugin:stringadd replace OUStringLiteral temporaries with OUString::Concat
Change-Id: I656f06a74d9f0180ae460264563d6a935c7d2c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114377
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-21 13:15:32 +02:00
Stephan Bergmann 177dcfec4e Better handling of filelocs
Change-Id: Ic9c06cb476942ceb7d0166f22103e2e88cc9c21f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114339
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-04-20 17:52:58 +02:00
Mike Kaganski 96388e5e80 Drop 'static_cast<cppu::OWeakObject*>' syntactic noise
... where the object is created in-place, and its type is known

Change-Id: Ifabfcf2f3ad0d60152f14e8d970c1faa42115288
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112256
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-03-10 08:22:26 +01:00
Mike Kaganski ed40d477b2 Drop ComPtr and use sal::systools::COMReference
Change-Id: I9eb6d99d883b44943ad69c2c28d4e55716dc34f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111673
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-02-27 11:05:00 +01:00
Stephan Bergmann f456c4dacf Improve checkExtension
Change-Id: Iff416a9c5930ad5903f7ee51a2abbc94d5f40800
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110970
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2021-02-16 11:08:33 +01:00
Andrea Gelmini 60b4c9f192 Remove unneeded breaks
Extending this:
https://gerrit.libreoffice.org/c/core/+/110512

Change-Id: I90d15fa6992a566e89c76dfab5fc863b33e0078a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110523
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-02-08 21:18:21 +01:00
Stephan Bergmann 35e471bb4d Adapt the remaining OUString functions to std string_view
...for LIBO_INTERNAL_ONLY.  These had been missed by
1b43cceaea "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>
2020-12-11 21:25:10 +01:00
Stephan Bergmann 62128cda92 Strength-reduce some OUStringToOString("..."+...)
...to "..."+OUStringToOString(...), in preparation of making OUStringToOString
take a std::u16string_view

Change-Id: Ic01ca249d4d0eb58ac959ffdf96471308a3715dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107600
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-11 17:33:57 +01:00
Gabor Kelemen 107399d684 tdf#42949 Fix new IWYU warnings in directories s*
Except recently checked sc, sd, svx, sw

Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Ice1b86628e4f22a39f307b9c5fa567b6ab9d5acb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106917
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-12-01 14:56:43 +01:00
Stephan Bergmann e5022a5e52 loplugin:stringviewparam (Library_kf5be1)
Change-Id: Iaeaca5564f39863343cbb901be87dfd651c241ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106863
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-30 16:04:49 +01:00
Stephan Bergmann a63087f580 RegCreateKeyExW etc. return LSTATUS
Change-Id: I78ebfd3e9eec9437ee405e99e2bcb96c53b1b84b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106728
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-27 13:19:24 +01:00
Stephan Bergmann d52ea2baa0 GetShortPathNameW returns DWORD
Change-Id: I5e86f9d0fd9832d0c8500c5d38805ddef5d5304b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106727
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-27 13:17:49 +01:00
Stephan Bergmann 2a78e9ddaf Windows InterlockedIncrement/Decrement use LONG
Change-Id: Ib3e8e89332399eba443d9ff291f694cfceb95af1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106726
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-27 13:16:46 +01:00
Stephan Bergmann 70b3bdd402 ZipFile::GetFileLongestFileNameLength is unused
...since 04366df3bc "Simple Zip file-format
implementation to avoid the need of minizip"

Change-Id: I20fd35c1f48912b1744063aadf0b917ca56288d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106694
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-26 15:53:19 +01:00
Stephan Bergmann 696739056f Better handling of Java files
Change-Id: Ifa662be39ac7d35241ee31956e2556b7ba3b5a02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106558
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-25 10:51:36 +01:00
Philipp Hofer 7c9a2c4b97 tdf#123936 Formatting files in module shell with clang-format
Change-Id: Iba0c34cff0e04b18a3b4c5b7bb2aa42e14aedb81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105707
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-11-19 10:44:14 +01:00
Stephan Bergmann ed3eda5d75 Use the new single-instance="true" attribute in shell
Change-Id: Ia8e454a65965cf99bafa795fe0bea4836ada2ee0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103846
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-10-02 20:41:23 +02:00
Stephan Bergmann c927aab29e Make the OUString ctors taking raw sal_Unicode pointer/non-const array explicit
...and in turn add OUString::operator = and OUString::operator +=
overloads that take a std::u16string_view.  Without making the ctors explicit,
the operator overloads would have caused ambiguities when called with raw
sal_Unicode pointers/non-const arrays, as those can convert to both OUString and
to std::u16string_view.

But the std::u16string_view operator overloads will generally be useful when
changing OUStringLiteral similarly to 4b9e440c51
"Turn OStringLiteral into a consteval'ed, static-refcound rtl_String", at which
point many existing uses of OUStringLiteral will be replaced with uses of
std::u16string_view.

Implementing this change turned up a need for an operator = overload for
OUStringNumber, which has thus been added.  No such need turned up for a
corresponding operator += overload, but which can easily be added when the need
arises.

It also revealed that the operator == overloads between an OUString and a raw
sal_Unicode pointer/non-const array were implemented rather inefficiently,
creating a temporary OUString from the raw argument.  Those have been improved.

Preceding commits have already taken care of many dubious or simply unnecessary
implicit uses of the now-explicit OUString ctors.  This commit makes explicit
the few remaining reasonable uses.  (And in some cases needed to change variable
initialization syntax from using parentheses to using curly braces, to avoid the
most vexing parse issue.  And needed to explicitly add OUString ctors from
char16 const[2] string literal lvalues in a conditional expression in
writerfilter/source/ooxml/OOXMLFastContextHandler.cxx that are only necessary
because MSVC apparently still insists on doing array-to-pointer decay there.)

All of this only affects LIBO_INTERNAL_ONLY.

Change-Id: I7ce31162e9be1c3ff3c0bd184a34b535ec56be9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102098
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-07 19:19:14 +02:00
Stephan Bergmann 1bc7285803 Improve QString to OUString conversion
...assuming the way of constructing an OUString from just a QString::utf16
pointer, ignoring QString::size, was not chosen deliberately to cut of the input
string at a potential embedded NUL.

(This change is a prerequisite for making the OUString ctor taking a raw pointer
explicit.)

Change-Id: I3fb3026065f0247c19f0497d28adf422106bd9c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102083
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-05 21:19:56 +02:00
Stephan Bergmann 33ecd0d5c4 Change OUStringLiteral from char[] to char16_t[]
This is a prerequisite for making conversion from OUStringLiteral to OUString
more efficient at least for C++20 (by replacing its internals with a constexpr-
generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount,
conditionally for C++20 for now).

For a configure-wise bare-bones build on Linux, size reported by `du -bs
instdir` grew by 118792 bytes from 1155636636 to 1155755428.

In most places just a u"..." string literal prefix had to be added.  In some
places

  char const a[] = "...";

variables have been changed to char16_t, and a few places required even further
changes to code (which prompted the addition of include/o3tl/string_view.hxx
helper function o3tl::equalsIgnoreAsciiCase and the additional
OUString::createFromAscii overload).

For all uses of macros expanding to string literals, the relevant uses have been
rewritten as

  u"" MACRO

instead of changing the macro definitions.  It should be possible to change at
least some of those macro definitions (and drop the u"" from their call sites)
in follow-up commits.

Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-28 08:07:09 +02:00
Andrea Gelmini eab5ce4647 Fix typo
Change-Id: Ib0e423f26428f5311d5f067177bd9457347e4971
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101111
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-21 12:22:56 +02:00