Age | Commit message (Collapse) | Author |
|
...warning about (for now only) functions and variables with external linkage
that likely don't need it.
The problems with moving entities into unnamed namespacs and breaking ADL
(as alluded to in comments in compilerplugins/clang/external.cxx) are
illustrated by the fact that while
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
returns 1, both moving just the struct S2 into an nunnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
namespace { struct S2: S1 { int f() { return 1; } }; }
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
as well as moving just the function f overload into an unnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
namespace { int f(S2 s) { return s.f(); } }
}
int main() { return f(N::S2()); }
would each change the program to return 0 instead.
Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
Reviewed-on: https://gerrit.libreoffice.org/60539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I325650a8e95ea7eb426714f6ab8313dcec162e46
Reviewed-on: https://gerrit.libreoffice.org/60527
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
It seems that on iOS, where we don't have any Java, Python, BASIC, or
other scripting, the only thing that would use the C++/UNO bridge
functionality that invokes codeSnippet() was cppu::throwException().
codeSnippet() is part of what corresponds to the code that uses
run-time-generated machine code on other platforms. We can't generate
code at run-time on iOS, that has been known forever. Instead we have
used some manually written assembler to handle it instead. We used to
have a Perl script to generate a set of code snippets for different
cases, different numbers of parameters of the called function and
whatnot, but that went away at some stage some year ago. (It is
unclear whether that broke the C++/UNO bridge on iOS, or whether the
stuff continued to work even after that.)
Anyway, this handwritten assembly, or the manual construction of
internal data structures for exceptions, or something else, seemed to
have bit-rotten. Exceptions thrown with cppu::throwException() were
not catchable properly any longer.
Instead of digging in and trying to understand what is wrong, I chose
another solution. It turns out that the number of types of exception
objects thrown by cppu::throwException() is fairly small. During
startup of the LibreOffice code, and loading of an .odt document, only
one kind of exception is thrown this way... (The lovely
css::ucb:InteractiveAugmentedIOException.)
So we can simply have code that checks what the type of object being
thrown is, and explicitgly throws such an object then with a normal
C++ throw statement. Seems to work.
Sadly the cppu::getCaughtException() API still needs some inline
assembly in the C++/UNO brige. That seems to work though, knock on
wood.
This commit also adds a small "unit test" for iOS, copied from
cppuhelperm to ImplSVMain(). Ideally we should not copy code around of
course, but have a separate unit test app for iOS that would somehow
include relevant unit tests from source files all over the place.
Later.
Change-Id: Ib6d9d5b6fb8cc684ec15c97a312ca2f720e87069
Reviewed-on: https://gerrit.libreoffice.org/60506
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
otherwise the GtkImage's width isn't right
Change-Id: Id5e44749fb9925037d5777512e3123de8840d346
Reviewed-on: https://gerrit.libreoffice.org/60484
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ia54a5ac4fe4a11b7c03508c336193bb52c616e7f
|
|
Change-Id: I1072642be4fdfa720e61f2d7bad3c2701eb81610
Reviewed-on: https://gerrit.libreoffice.org/60430
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to make the handling more explicit here
Change-Id: I934fcc7b0da8a160acd904440f18fc6c01ec1ad3
Reviewed-on: https://gerrit.libreoffice.org/60475
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2eb6949a22de038d8e501bc8ade57e6ebc053d34
Reviewed-on: https://gerrit.libreoffice.org/60433
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Revert 656bef6ce3626769bd59fc7c46d781af512dfe0e to use SAL_INFO again,
as there are few if any font related test failures now.
Change-Id: If91908b93394790eb5d0615508e1f64f83f2f9c6
Reviewed-on: https://gerrit.libreoffice.org/60438
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I1ee620200a285936159fed57d0cbbf5320e7d3ec
Reviewed-on: https://gerrit.libreoffice.org/60429
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
since...
commit 240974561685ff44c1abf5157a043d0fde4654d1
Date: Wed Sep 12 15:12:39 2018 +0200
loplugin:simplifyconstruct in ucbhelper..vcl
Change-Id: I154893825f5dfa9f2bbc4a0c200df6340e7743cf
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I7bfeef47abaf94cfb355db95c0fdb928ce36c0a6
Reviewed-on: https://gerrit.libreoffice.org/60232
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
In this step I have changed all calls that use a
B2DPolyPolygon and do filled graphics, added support for
providing needed transformation which will -if supported-
be used. Added buffering of SystemDependentData at
B2DPolyPolygon for that purpose, see comments describing
the current possibilities in the Gdiplus implementation.
Moved lifetime creation/cleanup of SystemDependentDataManager
to ImplSVData due to cleanup problems in the clang build
Tried to use a std::unique_ptr to hold the instance
of a SystemDependentDataBuffer at ImplSVData and cleanup
inside DeInitVCL() right before ::ImplDeInitScheduler. This
works in principle, but scheduler shutdown triggers
ProcessEventsToIdle which leads to repaints and re-creates
the buffer. Will now do exactly as was done with GdiPlusBuffer
before, a simple local static incarnation and a call to
SetStatic() in constructor
Splitted SystemDependentDataBuffer and Timer due to
different LifeTimes. Timer needs to be destructed
earlier than SystemDependentDataBuffer, before
Scheduler::ImplDeInitScheduler() is called from
DeInitVCL()
Change-Id: I2134e4346a183a4cee1be3428c51541cc8867c11
Reviewed-on: https://gerrit.libreoffice.org/60102
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Previously, the loop inside 'runCommands()' was triggered
every time 'm_stdinNotifier' got activated.
This could lead to both the soffice and the separate
lo_kde5filepicker process blocking indefinitely, when
during the execution of 'KDE5FilePicker::execute()', the
processing of another event started which would then
be blocked in the 'readCommand()' call; finally causing
both processes to wait for input from stdin that would
never appear (s. backtrace attached to tdf#119814).
Since the loop inside 'runCommands()' runs until all
commands have been processed, it's sufficient to
start it once when 'm_stdinNotifier' is activated for the
first time.
Change-Id: Ie9180dbaf7e3f7ec033ad6d53fabe1b1ee363465
Reviewed-on: https://gerrit.libreoffice.org/60380
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Id435bb3289dcfd9a7aeca6a661e249085958cb7c
Reviewed-on: https://gerrit.libreoffice.org/60392
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...as a consequence of <https://gerrit.libreoffice.org/#/c/60375/> "Support for
building with macOS SDK < 10.12 is long gone"
Change-Id: Ic87a9608b4defbeb5cf066d61f6819226dd58c1b
Reviewed-on: https://gerrit.libreoffice.org/60377
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
We were using a shape plan explicitely to report which shaper HarfBuzz
ended up using, but the logging was dropped in:
commit 919d5ac6b02e85126b3938c31daf4a891d3b2d90
Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Mar 4 05:06:47 2017 +0200
Make vcl.harfbuzz logging less verbose
Change-Id: I9b93c11e34ca880e9a60fb0fce49777c274568e6
So simplify the call and use the simpler hb_shape_full (which does the
same thing this code was doing).
Change-Id: I9122280869fb84a212fcf28cd8f2d58259a6b6bf
Reviewed-on: https://gerrit.libreoffice.org/60327
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: If20c05de5521ff2121da4b5973dcf15697bafe95
Reviewed-on: https://gerrit.libreoffice.org/60325
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
found this while examining issues reported by clang-tidy.
Judging from the code, the original intention was to somehow lock access
to the mbSignal field in ExecuteWrapper, but since we were not locking
when writing to that field, and that field was not volatile, it
surprises me that this worked very well at all.
We can accomplish the same end more reliably by just marking the field
as volatile and not doing any locking at all.
Change-Id: I388c7082a809b6aca5a3c8981625f55cfef3cfcd
Reviewed-on: https://gerrit.libreoffice.org/60184
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a regression from the commit 7cb3e475f2fb ("WIN add
SalGraphics* to WinFontInstance"). We need a sensible way to
compare the SalGraphics / HFONT. I'm not sure how to implement
this yet, so just assume unchanged, as the old code did.
Change-Id: I828a41e529976c500eedaef3afd40cf20287f746
Reviewed-on: https://gerrit.libreoffice.org/60256
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I34009aabf0befb346470b5c0d96ad8fc476b7c4e
Reviewed-on: https://gerrit.libreoffice.org/60300
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...after 453fde35bb838febf73bfda0bd981ee270c9b12e "BitmapFilter::execute can be
const". This reverts the call-site changes of
bce47223099bb3349d96af9d6b1fe88bcdd539df "clang-tidy bugprone-use-after-move in
BitmapFilter::Filter" again.
Change-Id: I5ce4eb7ddce90fb779ddfb1c5864fd4785708175
Reviewed-on: https://gerrit.libreoffice.org/60255
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ib420e9216b8313f5ed7634ec375e39ceb741fd45
Reviewed-on: https://gerrit.libreoffice.org/59297
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Number of GenericSalLayout::LayoutText() calls during Writer startup at
this call-site: 1068 -> 614.
Change-Id: I3bef56e550294a6b2c9fe73c0c6531249c9f1f30
Reviewed-on: https://gerrit.libreoffice.org/60164
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: Ia530a5947ef5b0718c7076367317c661155c6691
Reviewed-on: https://gerrit.libreoffice.org/60226
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I702b4818f05a606da30a643e13bfcd2c98ba412a
Reviewed-on: https://gerrit.libreoffice.org/60215
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
set some parents and replace VclComboBoxText with an entry and a treeview
Change-Id: Ied75176355f23c986eac4d5de8654472a15dbbbf
Reviewed-on: https://gerrit.libreoffice.org/52517
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This reverts commit 3d604d1cd6cc70ef96782ef769f0479b509987a8.
comments from sberg:
I assume dropping the std::move from aCurSel(std::move(aSel)) is caused
by performance-move-const-arg's warning "if std::move() is called with
an argument of a trivially-copyable type"
(<https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html>).
For my taste, that approach is too tightly tied to a class's current
implementation details, something that may change over time. Imagine a
trivially copyable class C with a raw pointer member (where the
lifecycle of the pointed-to object is tracked by some higher-level,
likely broken protocol). Now, that protocol is fixed and the raw
pointer member is replaced with a std::shared_ptr. C is no longer
trivially copyable, and the dropped std::move would turn out to be
beneficial again.
(Also, if Clang and clang-tidy did implement the fixed rules for
trivially copyable classes from CWG1734/C++17, where a subset of a
trivially copyable class's copy/move members may be deleted, the above
rule to warn "if std::move() is called with an argument of a
trivially-copyable type" would no longer make sense as written; consider
a trivially copyable class whose copy ctor has been deleted.)
Change-Id: Icb91610e50ed98b8f55fe6323bdfa48c8cb9b4b9
Reviewed-on: https://gerrit.libreoffice.org/60166
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I67ab7388593aceb00b660e4d40904a4eef247620
Reviewed-on: https://gerrit.libreoffice.org/60148
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Found by reviewing the output of and the code around
git grep -n "unique_ptr.*new.*\[.*\]" | grep -v "\[\]"
The onlineupdater code needs a little bit more attention.
Change-Id: I8b70c7da7db60af52bfac12314a21602ede8bfc0
Reviewed-on: https://gerrit.libreoffice.org/60162
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...after a little tweak to BitmapMosaicFilter
Change-Id: I76b8ffdbf719a9d7960e7f3dafeb3adeb2300ec5
Reviewed-on: https://gerrit.libreoffice.org/60165
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
HFONT lookup in ImplDoSetFont depends on the mbVirDev of the
WinSalGraphics. Since we need too look up HFONTs for SalLayout
without changing the corresponding SalGraphics, add a pointer
to the WinFontInstance.
Change-Id: Idb6573ce7267f0019c2183be47621d0eaef8e57b
Reviewed-on: https://gerrit.libreoffice.org/60093
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Everything now uses the HFONT from WinFontInstance, so there
is no need for the additional fallback array.
Change-Id: I15a197b262633569cb95c37689561db5323e1115
Reviewed-on: https://gerrit.libreoffice.org/60092
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
...should probably be independent of each other
Change-Id: I22fb860a5a197d5f3f0f8706782e25d07511a1d9
Reviewed-on: https://gerrit.libreoffice.org/60153
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I28d6d3cceec5224a6b38bd44ec380974cd3bae12
Reviewed-on: https://gerrit.libreoffice.org/60104
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Number of GenericSalLayout::LayoutText() calls during "dt<F3>" in Writer: 105
-> 89.
Change-Id: I0f2bb241536209cfccc1d78bed6f54bf5c31e627
Reviewed-on: https://gerrit.libreoffice.org/60133
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: Idf3906894510d671c75c32a787ad315945b2c339
Reviewed-on: https://gerrit.libreoffice.org/60137
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
writer, format page is complete
Change-Id: I09f6e4354461c4374cdb0d0e0754dfee35415b45
Reviewed-on: https://gerrit.libreoffice.org/60058
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I6213706ace039492429349c2459923b0e9a5d758
Reviewed-on: https://gerrit.libreoffice.org/60127
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Target is to less modify the given PolyPolygons to
allow better buffer/reuse. To do so, multiple steps
need to be taken to make the creation of cairo_path_t
correct and effective.
Adapted AddPolygonToPath to no longer add a fixed
PixelOffxet of (0.5, 0.5) for LineDrawing. Moved that
at all places to set the needed linear transformation.
Some places which know to work in DeviceCoordinates got
directly adapted. The creation of geometry for polygon
paints that use line and fill no longer offsets by that
values for fill now (which should be better)
Adapted AddPolygonPath to use the closed information from
the given Polygon geometry - this is used in Win Gdiplus
for years and shoud be safe
Adapted AddPolygonPath to do correct PixelSnap when
a ObjectToDevice transformation is used. This requires
to have the ObjectToDevice transformation in the method
and using it and it's inverse
Adapted AddPolygonPath to support PixelSnapHairline which
now needs to be supported in the VCL-layer. Adapted the
BufferedData stuff accordingly (and saw that the old
solution for this snap was not used - sigh)
Corrected ::drawLine to correctly do PixelSnap if needed,
version before would have lost it
Change-Id: I5e8f71f7439b21f58561da5770b9054236a33235
Reviewed-on: https://gerrit.libreoffice.org/60083
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Moves the scale factor into the LogicalFontInstance and uses the
Glyphs font fallback level to use the correct font and scale.
Probably the glyphs should be using a rtl::Reference to the
LogcalFontInstance instead of the fallback level. I don't know if
glyphs are evicted from the cache, if the fallback changes. There
is now an assert and all places will use 1.0 as the default
scaling factor, so LO should at least not crash.
Change-Id: I9dd4fc3a5b5924fc379b48a7f71c9eed26b4779d
Reviewed-on: https://gerrit.libreoffice.org/60091
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ia43dbfd6313935bec90ac88018011eacca0c0eaf
Reviewed-on: https://gerrit.libreoffice.org/60090
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
which necesitated changing the API and hence the call sites
Change-Id: Id417a235bf9b2bf1a3d152dc6600c0635486cafa
Reviewed-on: https://gerrit.libreoffice.org/60086
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Number of GenericSalLayout::LayoutText() calls during Writer startup: 2603 ->
1616 (18 -> 1 layouts / included number).
Change-Id: I9a1a1131707bb6bc31683bbf609319f4bc22de92
Reviewed-on: https://gerrit.libreoffice.org/60087
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: I69247498e13331f6ef84afeb242479f8fb1178a8
Reviewed-on: https://gerrit.libreoffice.org/60068
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I607891e120688b746c8a4c577018d97147a79217
Reviewed-on: https://gerrit.libreoffice.org/60029
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Since 'string::find()' returns the position of the given
character in the string and that was passed as the amount of
characters to delete from the string, 'm_responseBuffer'
would always be a string starting with a newline character
afterwards, when this part of the code was reached.
Subsequent calls to 'Gtk3KDE5FilePickerIpc::readResponseLine'
therefore always returned an empty string and left
'm_responseBuffer' unchanged, resulting in the lambda function
inside 'readResponse' in 'gtk3_kde5_filepicker_ipc.hxx' to
loop infinitely.
While at it, make a little more explicit that 'it' is of type
'size_t' here.
Change-Id: I3b1c209f8307ab71465d9538a82616dff8656415
Reviewed-on: https://gerrit.libreoffice.org/60047
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
the latter provides (so far) no added value, quite the contrary:
File > Print > $printer > Properties didn't display generic unx/CUPS
dlg but just failed silently
Change-Id: Ide2ad175ffe55b5c9ac5ca3efad4a43b692f9984
Reviewed-on: https://gerrit.libreoffice.org/60040
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Crash seems to be limited to vertical FixedLine control type. This is
just a band-aid, need to find out what's wrong with drawing this specific
control. Other control don't seem to be affected
Change-Id: Ie04bc04bbdf95920d62d43ac7874e7dba1441a4c
Reviewed-on: https://gerrit.libreoffice.org/60039
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
it causes too many issues: giant tooltips, dialogs can't be smaller
than 640x480 etc. Need to figure out a better solution
Change-Id: I4cc404687a60f2e0a39fd748fcc8cfea7cb7c0ac
Reviewed-on: https://gerrit.libreoffice.org/60038
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|