In sc/qa/unit/ucalc_formula.cxx, dropping the capture-default from the
lExpectedinF lambda revealed that MSVC in C++17 mode (i.e., when building
without --with-latest-c++) requires ROW_RANGE (a local const int variable from
the enclosing TestFormula::testTdf97369) to be captured, even though all uses of
that variable within the lambda body are constant expressions. That is still
true at least for the latest Visual Studio 2019 version 16.11.1. (This is not
an issue for the lExpectedinH and lExpectedinI lambdas a few lines further down,
as they, in addition to using that ROW_RANGE, also use the local const double
variables SHIFT1 and SHIFT2, whose uses are not constant expressions, so
they are implicitly captured and loplugin:unusedcapturedefault does not suggest
dropping those lambdas' capture-defaults in the first place.)
Change-Id: Iee7efb485187cbe8eba6a2d470afca4993eb1816
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120693
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
... and get rid of the whole GetBackendCapabilities, which was
just overkill. Maybe this should even be some bitmap + enum
+ set/get function, but I'm too lazy...
In the end add a bool for the OpenGL support of the VCL plugin
(or maybe sticking it into ImplSVData, which is already some
catchall for common VCL data).
Change-Id: I9f0ececac482d8e2a94ef6024628e9631b49e773
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120760
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Fixes a regression from commit 429e6e6efb
("osl::Mutex->std::mutex in OInputStreamHelper"), which results in
failed linking with some older toolchains:
/usr/bin/ld.gold: error: workdir/CxxObject/xmlsecurity/source/helper/UriBindingHelper.o:
requires dynamic R_X86_64_PC32 reloc against '_ZThn40_N3utl18OInputStreamHelper7acquireEv'
which may overflow at runtime; recompile with -fPIC
include/com/sun/star/uno/Reference.hxx:240: error: undefined reference to
'non-virtual thunk to utl::OInputStreamHelper::acquire()'
collect2: error: ld returned 1 exit status
xmlsecurity/Library_xmlsecurity.mk:10: recipe for target
'symbols/instdir/program/libxmlsecurity.so' failed
Known problematic setups are my Ubuntu 18.04 build schroot and
Caolán's Fedora 31 VM to run Coverity.
Change-Id: I40f0734a0cb9131193abf21ba95dc63816b5c1d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120426
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Before commit 653b53287c, editengine
objects had a pair IsVertical/SetVertical, which queried and set
a boolean flag (and SetVertical also had a second argument to set
another flag).
The mentioned commit had introduced an inconsistency, changing
SetVertical to only set a single flag, but at the same time making
IsVertical to return a synthesized result from two values: vertical
and rotation. Additionally, GetDirectVertical was introduced to
complement SetVertical.
In many places, the use of synthetic IsVertical looks suspicious,
especially where it is used in combinations with SetVertical. But
here I don't change existing logic, and only rename the methods,
so that in case someone sees an actual problem, it would be easier
to spot the method mismatch.
The end result is that now we have a proper getter/setter pair
GetVertical/SetVertical, and also IsEffectivelyVertical, named to
reflect that it calculates its return value.
Change-Id: I38e2b7c5bd7af0787dd7a1c48e1385138dac80b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119315
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
...by assuming that all const member functions are side-effect free. (This
presumably means that some of the special cases in
StringAdd::isSideEffectFree are obsoleted by this more general case, but any
such removal is postponed to later clean-up.)
(Came across this when idly wondering why
8b7f948d9d "sc, VmlFormControlExporter: avoid
OStringBuffer style" had not been found by the plugin before.)
Change-Id: I6bca10df53885b14a590543aabd61f23b3748572
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118675
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
It's always hard to bootstrap dnd because so much of it has to work
before any of it works. Typically dnd and cnp are strongly related
so getting cnp working first is the way to go before trying dnd.
Change-Id: I645f56dc5f8cb0e3a31e0ff8bbaab610366b6312
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117798
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
improve the plugin to detect more cases.
I only apply the new final changes to classes in /include here.
Which reveals that
RoadmapWizard::getPageController( TabPage* _pCurrentPage )
will always return nullptr
Also needed to sprinkle some
SAL_DLLPUBLIC_TEMPLATE
around to workaround Visual Studio linking problems.
Change-Id: Iadb7d46a9e0e73dabce562375ca013c0fea6690c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117365
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
With the recent implemenation of
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2266r1.html> "P2266R1:
Simpler implicit move" in Clang 13 trunk as
<https://github.com/llvm/llvm-project/commit/bf20631782183cd19e0bb7219e908c2bbb01a75f>
"[clang] Implement P2266 Simpler implicit move", a --with-latest-c++ build
started to fail with
> In file included from sal/rtl/random.cxx:25:
> include/o3tl/temporary.hxx:21:62: error: non-const lvalue reference to type 'double' cannot bind to a temporary of type 'double'
> template <typename T> constexpr T& temporary(T&& x) { return x; }
> ^
> sal/rtl/random.cxx:97:37: note: in instantiation of function template specialization 'o3tl::temporary<double>' requested here
> return std::modf(random, &o3tl::temporary(double()));
> ^
etc. (And fixing that by adding the recommended static_cast then triggered a
false loplugin:redundantcast warning.)
Change-Id: I222429e9872afdedf77a07014c0a2e9e06c60b50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117335
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
add a 'NotifyingLayout' to find out when the size of a widget
changes now that size-allocate has been removed
Change-Id: Iae55b7fafd2fd26c62afaedd777ae40e84fbb964
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117348
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
...and drop the no-longer necessary loplugin:implicitboolconversion exclusion
(which had been necessary to avoid
> [CXX] vcl/source/window/dockingarea.cxx
> In file included from vcl/source/window/dockingarea.cxx:26:
> In file included from vcl/inc/svdata.hxx:26:
> include/o3tl/hash_combine.hxx:14:78: error: implicit conversion (Dependent) from 'bool' to 'std::enable_if_t<(sizeof(N) == 4), bool>' (aka 'typename enable_if<(sizeof(N) == 4), bool>::type') [loplugin:implicitboolconversion]
> template <typename T, typename N, std::enable_if_t<(sizeof(N) == 4), bool> = false>
> ^~~~~
etc.)
Change-Id: If764365213cf29f7dec6fdd6a773dc9894dd15bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117330
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
<https://github.com/llvm/llvm-project/commit/61cdaf66fe22be2b5942ddee4f46a998b4f3ee29>
"[ADT] Remove APInt/APSInt toString() std::string variants".
TODO: While most uses of compat::toString should be harmless performance-wise,
as they are either in error reporting code or in plugins that are not run by
default, some calls like the one in compilerplugins/clang/staticconstfield.cxx
might benefit from moving them away from using std::string.
Change-Id: Icfac7d6d4a0a4a4edeb5c8bdcdbc13b73e20a5e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117152
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...new with Clang trunk 13. As a rule of thumb, this change adds explicit
cast-to-void silencing in those .cxx that already contained other such silencing
casts and adds wholesale #pragma clang diagnostic ignored in all others.
Change-Id: I1884496ee1aa81aaf3c8b3533534a4b69b185e9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116660
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
SvxBackgroundColorItem is just copied from SvxColorItem. There is
nothing special to SvxBackgroundColorItem class. SvxColorItem is a
generic item and it's used on many places related with colors. We can
use SvxColorItem for background colors too.
Change-Id: Iacea31a7557b806e95f5859ff60add9a2626ec05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116282
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jenkins
Add new UI options when opening a locked or non-writeable document
to allow the user to be notified when such a document becomes editable
. If the user selects "Notify", then that document is added to a list
of open documents to be checked by a thread every 60 seconds for
read/write access and whether lock file is available/obtainable. If
access is allowed for a document, then show UI dialog to the user
asking to Reload that document. If Reload is selected by the user
then that document is reloaded with read/write access. The checking
thread is spawned only once no matter how many "Notify" documents
there are. The thread is spawned if not already running when a new
"Notify" document is opened, and it terminates when all "Notify"
documents have been closed or the application terminates.
Also update badstatics clang plugin to ignore new global variables
introduced.
Change-Id: I7555ce6f5df79c2c87216e0129ef3b2883c7d921
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111654
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
IPropertyArrayHelper & rInfo = getInfoHelper(); crashes when
CandleStickChartType is final for unknown reasons. I see this with
gcc-11.1.1-1.fc34.x86_64 in 7-1 locally but also in the fedora
libreoffice-7.0.6 built with gcc-10 so this isn't a recent problem.
#1 0x00007ffff6f4fe91 in cppu::OPropertySetHelper::getFastPropertyValue(int) (this=this@entry=0x5bdd588, nHandle=nHandle@entry=3) at cppuhelper/source/propshlp.cxx:549
#2 0x00007fffad45e9ff in chart::CandleStickChartType::getSupportedMandatoryRoles() (this=0x5bdd520) at chart2/source/model/template/CandleStickChartType.cxx:219
Change-Id: Ia029162587da1fc00df32866863deb186c7e11bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116196
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
in order to split sc_ucalc monster into smaller
modules
Now, we can change CppunitTest_sc_ucalc.mk to
use the template
- Enable testExternalRefUnresolved on Linux/Mac
- Remove testFormulaHashAndTag. it was disabled in
f4dc8a869a
< the idea behind the test can't work right now >
Change-Id: I864341442ccd321c8ef4f7147db4512bcc7a6b21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115595
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
as part of a longer-term goal of doing our
widget rendering only inside a top-level render-
context.
I moved all of the OutputDevice-related code that existed in vcl::Window
into a new subclass of OutputDevice called WindowOutputDevice.
Notes for further work
(*) not sure why we are getting an 1x1 surface in
SvpSalGraphics::releaseCairoContext, but to fix it I clamp
the size there
(*) might have to dump VCLXDevice, and move it's code down into VCLXWindow and VCLXVirtualDevice
(*) can we remove use of VCLXDevice in other places, in favour of just talking to the VCL code?
Change-Id: I105946377f5322677d6f7d0c1c23847178a720b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113204
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
in order to split sc_ucalc monster into smaller
modules
While at it, remove testCopyPasteSkipEmptyConditionalFormatting
it was added already disabled in 5915d38e84
<add disabled test for conditional formatting with skip empty cells>
and it fails if it's enabled
Change-Id: I6222849b38ab288b24432dc00698d72f5bcc5c2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115677
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Issue the "instead of O[U]String, pass [u16]string_view" diagnostic also for
operator call arguments. (The "rather than copy, pass subView()" diagnostic is
already part of handleSubExprThatCouldBeView, so no need to repeat it explicitly
for operator call arguments.)
(And many call sites don't even require an explicit [u16]string_view, esp. with
the recent ad48b2b02f "Optimized OString operator
+= overloads". Just some test code in sal/qa/ that explicitly tests the
O[U]String functionality had to be excluded.)
Change-Id: I8d55ba5a7fa16a563f5ffe43d245125c88c793bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115589
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>