...now that ab157ab93e "move part of sanitizer
patch to the patch that introduced the problem" unilaterally folded in here the
content of f5e1314ffa "external/cairo: Fix
previous -fsanitize=alignment fix", about which that commit's message had
stated: "The following line
> pixel &= 0x00ffffff; /* ignore next pixel bits */
should no longer be necessary now, and it is probably better to directly fix the
original code in external/cairo/cairo/cairo-1.10.2.patch, but I'll leave that
for a potential follow-up fix, once the provenance and assumed quality of that
original CAIRO_FORMAT_RGB24_888 code is clarified." (The provenance and quality
of that code is still not clarified though, see the still unanswered question in
the comment at
<https://gerrit.libreoffice.org/c/core/+/116637/2#message-407ec72875fcb015a3024f9a7ebf8480513b1e5e>
"external/cairo: Fix previous -fsanitize=alignment fix".)
Change-Id: Ic729bff238a35fac69d048b7c3912dd706a5b601
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139211
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
If RTF shape contains pib (embedded picture) we should override
any picture sizes by values from shape. Values provided inside
\pict are ignored by MS Word; only shape values matter.
To achieve this we need to know shape dimensions so it's
calculation is moved to earlier step before internal picture
eval.
Change-Id: I99c1af7ba62c343b64b3db734b837ff101483ad8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139043
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
`qVersion()` has been moved to a different header in
qtbase commit [1]:
commit 50b05e3e2ad969abf4b939d5db2253380e47d775 (gerrit/dev)
Author: Sona Kurazyan <sona.kurazyan@qt.io>
Date: Tue Aug 30 10:37:00 2022 +0200
Move qVersion() from qglobal.h to qlibraryinfo.h
Since qVersion() might be called also from C code, disable the parts of
qlibraryinfo.h that are relevant only for C++ code if __cplusplus is not
defined.
[ChangeLog][Potentially Source-Incompatible Changes] qVersion() is
moved from qglobal.h to qlibraryinfo.h, '#include <QtCore/QLibraryInfo>'
needs to be added where it's used.
Task-number: QTBUG-99313
Change-Id: I3363ef3fa4073114e5151cb3a2a1e8282ad42a4d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=50b05e3e2ad969abf4b939d5db2253380e47d775
Change-Id: Iafeb0ed6a77420f9a303d8ec4d3c5ba29c6f4b19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139221
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... FormulaCompiler::GetOpCodeMap() forwarding to
GetFinalOpCodeMap() as that is what we want from ScCompiler (and
always had), eliminating the now possible temporariness of
FormulaCompiler::GetOpCodeMap().
Change-Id: Ia87fb0e911e4f7995bfb5df07dcd1fde3713d006
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139205
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
These function in the base class are protected, and apparently some
GCC versions warn about other overloads being hidden.
Change-Id: I9d2e674b4fc9eedc97f586bbe4e4f21a6954b8a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139161
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
coverity can't see that the logic is such that nullptr is impossible
here, so add an assert to make it happy
Change-Id: I666dde47851d468c0b9e282c389fe07e640028fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139164
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Passing the `QObject` of the child directly in the
`QAccessibleEvent` ctor generally has the same effect
as setting the parent in the ctor and then passing the
child index via `QAccessibleEvent::setChild`. In both
cases, `QAccessibleEvent::accessibleInterface` will
return the `QAccessibleInterface*` for the child
afterwards.
However, the latter only works correctly with child
indices that fit into 32 bit, which isn't the case
for all cells in a Calc spreadsheet with 16k column
support.
Change-Id: Iaa7b936df237f82dc21a00d3ac419a1519a95226
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139147
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... 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
add "allow" to NON_APPLICATION_FONT_USE=
=abort to crash and burn if there is font/glyph fallback, and
=deny to just restrict to the bundled fonts for the test
=allow to explictly denote a tests want to attempt to search for
and use some specific system-side installed font.
note: currently this only affects fontconfig using platforms
Change-Id: Iadc8a70531ac363b4c3f0c52d9f7bd79191b0139
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139148
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
...and adapted GlowPrimitive2D to it as a preparation to
use similar to BufferedDecompositionPrimitive2D, but for
primitives based on GroupPrimitive2D.
Change-Id: Ia1f9a09d4db09238ebbf6ad1303a4cdbdb8baedf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139099
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
I'm not quite sure what this GetBottom() thing is, but e.g. acosh()
treating empty cell as 1 is not right.
Change-Id: Id86ab979598603c12cec99ec5758c27a99589107
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139078
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
The default precision of both iostreams and stdio is 6 decimal places.
This means that e.g. =POWER(1.0000001,2) becomes 1, since buf << number
will write that first number simply as '1'.
Moroever some generated code actually doesn't compile because ambiguous
overloads, because '1' is an integer and not a double, thus floor(1)
is ambiguous, as there are only floating point overloads (and C/C++
are stupid about these conversions).
So force using a wrapper class that forces a higher precision and
the decimal separator. For debug builds, also avoid excessive precision.
Apparently, neither iostreams nor stdio are capable of simply printing
a reasonable floating point representation that wouldn't be too precise
or imprecise.
Change-Id: Ifa045712d90e6a6bbe5781ac3c805c989673dc8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139073
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
That is the algorithm that doesn't change colors, BmpScaleFlag::Fast
works the same way only because it's mapped to this algorithm
(which may not necessarily be the case forever).
Change-Id: Ibebfff668eaa1da93963f8e8601fec51cfdfca34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139128
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
I hope I’m not breaking this for others who are using it, if I’m, feel
free to revert.
Change-Id: I6d91340d17c9edcd3db6064c9ab9755ffeac4f96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139139
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>