Age | Commit message (Collapse) | Author |
|
elides some OString temporaries
Change-Id: Ic07f18eb3c71637593e64128605c1ebfa8e68474
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163044
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The new tests fail with:
> core/xmlsecurity/qa/unit/signing/signing2.cxx:
> 252: Assertion
> Test name: testPasswordPreserveMacroSignatureODFWholesomeLO242::TestBody
> equality assertion failed
> - Expected: 1
> - Actual : 4
This is because only the first test that runs sees the testing CA
certificates that are copied in MacrosTest::setUpNssGpg(); when the
second test runs, they have somehow vanished.
This is because apparently SQLite on MacOSX, unlike on Linux, monitors
the file descriptors of its database files, and then invalidates itself
when setUpNssGpg() via osl::File::copy() renames and unlinks the
existing database files:
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode renamed while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/cert9.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 5 (0x20)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/cert9.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 5 (0x11)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode renamed while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/key4.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 6 (0x20)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/key4.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 6 (0x11)
Split MacrosTest::setUpNssGpg()/tearDownNssGpg() into functions
setUpX509() which only does something on the 1st invocation, and
setUpGpg()/tearDownGpg() which may be invoked per-test (they could also
be run once for the whole test suite, but not obvious how to do that);
PDF related tests don't need GPG.
Presumably this is (along with the WNT-specific problem fixed in commit
3e9a700091872480dd085f0928d1d30b7d74cfd7) the reason why most of the
tests not only accept the expected result of SignatureState::OK but also
SignatureState::NOTVALIDATED.
Change-Id: I59b85ca651cecaccfdea729ed1e645c53079c8bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162693
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove
non-const Sequence::begin()/end() in internal code, 2021-10-15) and
commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const
Sequence::operator[] in internal code, 2021-11-05).
Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
* SwRootFrame::CalcFrameRects() assumption that there is only 1 frame is
wrong, add a loop; also remove dead eMode check in else branch
* GetCursorRectsContainingText() cannot call GetCurrFrame() because that
returns always the same frame, but it can be split across several
* fix GetFrameOfModify() to return the correct frame in case of a field
(where it returned always the frame containing the start of the field,
but pViewPosAndCalcFrame could be in a follow frame)
(regression from commit 5726be1314517d47dd733aabe64a3d85cce094c5)
Change-Id: I63a94080ee120f178580e0339db4541691165780
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162523
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I3d23186045c17006e50d9ef48bc26df3c79d28b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162052
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
The old name was misleading (it doesn't take an URL, but a filename);
also, now it's easier to grep for it - doesn't get mixed with
vcl::graphic::loadFromURL.
Change-Id: Ib88d2194200a6a54d2326971e0306ba39f0c7025
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161578
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I8cb778a09566c1b7d6c2ba4ac5766a5675e62465
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158465
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ied5e688b9eec19c2f1b3d1289cc4a6605703c3e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157904
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I0b534e42e041972ad2f92e789fc757e949a33d4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158394
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Take the checkable state into account when mapping the
`AccessibleRole::BUTTON_DROPDOWN` role.
There is no direct ATK equivalent for
`AccessibleRole::BUTTON_DROPDOWN`.
Don't always use ATK_ROLE_PUSH_BUTTON, but
use ATK_ROLE_TOGGLE_BUTTON when the button is CHECKABLE,
i.e. it can be toggled.
With this in place, Orca now announces the state of
the underline button (on/off) when using the gtk3
VCL plugin.
Related Orca source code that requires the toggle button
role: [1]
The state is not announced when using the qt6 VCL
plugin yet, and Qt currently doesn't have a toggle button
role, so that would have to be added there first to
do something similar there.
For gtk4, mapping could probably be done similarly,
but more is missing for Orca to announce things in
custom widgets (e.g. event handling),
so leave that for later.
[1] https://gitlab.gnome.org/GNOME/orca/-/blob/b80bb951a651f5f12a5ddfb2a5b1c151568d045b/src/orca/scripts/apps/soffice/speech_generator.py#L177
Change-Id: If69e08d2e4939cc709d44e89cc2fd1d01691a70b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160904
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Add reporting/handling of the CHECKABLE a11y state
added in
commit d6c6472bbe1c90b733a4d69c4c8528f4de3750d3
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Nov 13 15:53:44 2023 +0100
tdf#123864 a11y: Add new AccessibleStateType::CHECKABLE
in various places where it seems pretty straightforward.
`VCLXAccessibleMenuItem` is a bit more complex and will be
handled separately.
Change-Id: I212b8439609d34410413959973163aa7d809cbf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160901
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
/home/rene/LibreOffice/git/libreoffice-24-2/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx: In static member function 'static void Atspi2TestTree::compareObjects(const com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>&, const Atspi::Accessible&, sal_uInt16)':
/home/rene/LibreOffice/git/libreoffice-24-2/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx:362:9: error: no matching function for call to 'assertEquals(const long int&, int, CppUnit::SourceLine, const char [1])'
362 | CPPUNIT_ASSERT_EQUAL(nLOTargetsCount, pAtspiRelation.getNTargets());
| ^
/usr/include/cppunit/TestAssert.h:161:6: note: candidate: 'template<class T> void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&)'
161 | void assertEquals( const T& expected,
| ^~~~~~~~~~~~
/usr/include/cppunit/TestAssert.h:161:6: note: template argument deduction/substitution failed:
/home/rene/LibreOffice/git/libreoffice-24-2/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx:362:9: note: deduced conflicting types for parameter 'const T' ('long int' and 'int')
362 | CPPUNIT_ASSERT_EQUAL(nLOTargetsCount, pAtspiRelation.getNTargets());
| ^
make: *** [/home/rene/LibreOffice/git/libreoffice-24-2/solenv/gbuild/LinkTarget.mk:340: /home/rene/LibreOffice/git/libreoffice-24-2/workdir/CxxObject/vcl/qa/cppunit/a11y/atspi2/atspi2.o] Error 1
Change-Id: I7b7e3e756b135d1066af631e92738e7dfc1ede4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160882
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
CreateSalInstance will set aUsePlugin to "svp" in case it is in
SAL_USE_VCLPLUGIN environment variable (can be controlled using
gb_CppunitTest_use_vcl_non_headless in makefiles); when true is
returned from Application::IsBitmapRendering(); or when true is
returned from IsHeadlessModeRequested() (e.g., when '--headless'
is used in the command line). The latter is true for most of the
CppunitTests, including CppunitTest_vcl_skia (it may be controlled
by gb_CppunitTest_use_vcl_non_headless_with_windows in makefiles).
Then this would ensure that Application::EnableBitmapRendering is
called.
isVCLSkiaEnabled gave false, when Application::IsBitmapRendering
was true, which meant that all tests in CppunitTest_vcl_skia
effectively didn't run at all.
With this change, on platforms where there's no 'svp' plugin,
Skia will be enabled in unit tests in software mode: Windows and
macOS.
Fix bug in a couple of places, where the SkAutoCanvasRestore
needs to be destructed before we call other code, otherwise
we hit an assert in destroySurface().
Disable the vcl XOR test and CppunitTest_sd_png_export_tests,
in skia mode, just so we can just this commit
in, that will need further investigation.
Tweak assert in addPolygonToPath to account for case where
polygon has zero points.
Change-Id: Idc0a66d27deb3cf09f631a42bbe037714ebcdc0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155952
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Test if font color persists when exporting to pdf *and*
Print Text in Black is true.
Change-Id: I20ccc59cad2e5c7b5d52c69673675fed61a76080
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160321
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
since it nededs Source Han Sans since 9b5964cf5931d7c09e4fd624d68595891c2afb58
Change-Id: I35bd30048b298e8cbdaf6de22ae2022d51415aa9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160512
Tested-by: Jenkins
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Reviewed-by: René Engelhard <rene@debian.org>
|
|
(*) Make all of it use a "Scoped" paradigm
(*) pass by value, no need to allocate on heap
(*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods.
(*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places.
Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Having it subclass Bitmap encourages confusion in passing it around, and
I need the extra type-safety for my work on merged-alpha
Change-Id: I35819f9b8ee609cbdaf865563c78531e397b529b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160235
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id66be996053435c92b667eb142ae1e271ff33b90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159386
Tested-by: Jenkins
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
To influence the fallback fonts chosen, I have introduced a new
OutputDevice function ForceFallbackFont() which injects ("forces") a
font as the first one in the font fallback chain.
Change-Id: I05856cbe829fde0eb140bb48a37795a84d780900
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159221
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
There is no way the format can change via the Bitmap*Access
mechanisms, and we already perform these asserts in
the constructor and operator=.
The code has been there since
commit 8ab086b6cc054501bfbf7ef6fa509c393691e860
Author: Jens-Heiner Rechtien <hr@openoffice.org>
Date: Mon Sep 18 16:07:07 2000 +0000
initial import
Change-Id: I75195f6fd4e29d7133e787131b6c8479a9188d1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160242
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2a9d5383d1831d8bf61e5280d66556d71fccae52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159666
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I72812c9fd83730daf62aeb4a300c548f153ee8a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159091
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
...and make things private/protected, while at it
Change-Id: I5854f55dfe073e30b853c0d3bbafc4b7293c7f0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159132
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
using a poly clip is better than using XOR, so make this the
default.
Change-Id: I48bb6b5d617b8b6dc82760277d72a50a2123ae0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158957
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
There seems to be no reason why SE child OBJR dictionaries are separate
objects, they could just be inline.
Change-Id: I9e4fcdf56d9b7454325f9d3ef7ba55bdc090f948
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158838
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Several problems here:
* As with fields, there may be selection rectangles with no text
* SwRootFrame::CalcFrameRects() adds flys that are anchored in the
selection to the selection
* A fly text portion causes Link annotations to split, but not Link SE
* If a fly only partially overlaps a line vertically, then
CalcFrameRects() produces a full-width half-height rectangle and
another 2 half-width half-height rectangles on both sides.
This is useless, the rectangles must be full line height.
Add some code in CalcFrameRects() to use the fly portions in the
SwParaPortion instead of the fly frame areas.
Change-Id: I93f0c12a5e5a3d5f51fcc4b33052a112e9174863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158576
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
If there is a fly overlapping a paragraph, it may happen (depending on
wrap settings and position) that there's an empty space on one side of
the fly; the cursor selection region has the flys removed, and this
region is used here for the PDF export.
So there is a rectangle on the text on one side of the fly, turned into
the desired Link annotation, and another rectangle on the other side of
the fly, turned into another undesired Link annotation that isn't
connected to any SE because without text there is no SE.
This is a tricky problem, and the only idea to fix it is to try to see
if there is text in the rectangle by first GetModelPositionForViewPoint()
resulting in a SwPosition and a SwSpecialPos with an index inside the
field; then see if GetCharRect() for this position returns a cursor
rectangle that intersects the original selection rectangle.
Change-Id: I6918eac16690e7194208a828108bfa968d28d12a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158571
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I31aa7f683e8d9f9a227ba88c58e7fdba94c83bb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158725
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
It already has 109 tests
Change-Id: Ic16c5ee68f020c2ee1662354786fb82aada62e0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158667
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I63c8d4f30a1558e3f1cee72cc5d4ba1426409912
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158635
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
CPPUNIT_TEST_FIXTURE is easier to write tests for and separate if needed
Change-Id: I2c478205847e4d15c0f8d65d498dd8d82079fa5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158616
Tested-by: Jenkins
Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
|
|
The size of W_META_EOF (record indicates the end of the WMF metafile)
could be different than 3 (e.g. 6).
The MS Office is allowing different sizes of EOF,
and just properly finalizine parsing WMF file, and display its content.
Original bug report:
https://bz.apache.org/ooo/show_bug.cgi?id=42090
Change-Id: I21b72615c7f45fdca145e6240c6451d7d264d238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153204
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
In previous implementation, there was no proper validation
of the records, by it's size.
This commit adds validation of the WMF records.
It would allow to interrupt reading, if wrong record found
and play only records until it it correct.
It will allow to mimic the behaviour of MS Office:
If the wrong record is detected, the image is displayed till the wrong record.
Currently in LibreOffice, if wrong record is found whole read is interrupted.
Change-Id: I0c82deabcec7a416ca44540e693822f1986437eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153351
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
A block quote role exists in all of WAI-ARIA 1.3
(role "blockquote", [1]), IAccessible2
(`IA2_ROLE_BLOCK_QUOTE`, [2]) and AT-SPI
(`ROLE_BLOCK_QUOTE`, [3]).
Take over the definition that is the same in WAI-ARIA
and IAccessible2:
> A section of content that is quoted from another source.
The intended use for now is for a Writer paragraph using
the "Block Quotation" paragraph style, similar to how the
HEADING role is used for paragraphs using a corresponding
paragraph style.
For gtk3 (ATK) and winaccessibility (IAccessible2),
map the new role to the equivalant roles.
For macOS and the gtk4 as well as the Qt-based VCL plugins
on Linux which currently don't have an equivalent role,
fall back to the same role that the PARAGRAPH role is
mapped to.
This way, the behavior there will remain unchanged
once the BLOCK_QUOTE role is used for Writer paragraphs
with the corresponding style.
In general, treat BLOCK_QUOTE like PARAGRAPH
in code applying special handling for the PARAGRAPH
role.
[1] https://w3c.github.io/aria/#blockquote
[2] https://github.com/LinuxA11y/IAccessible2/blob/3d8c7f0b833453f761ded6b12d8be431507bfe0b/api/AccessibleRole.idl#L318
[3] https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/7cc4cee53ddbd22631fd110f0e5ce045dec2e411/xml/Accessible.xml#L615-616
Change-Id: I248c183a2e7ec5d6f0a89bf3cb4829bbd8588c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158573
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
with lots of images, we seem to spend lots of time calculating
CRC. Replace the vcl checksum/CRC with rtl_crc32 in sal/, which
forwards to the zlib implementation, which has all kinds of
nice SIMD code for performance.
Change-Id: I295e2ee91b3450fa558b06e67aac0fbb20b85f52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158529
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Been advised that a Lbl element is not much use in practice.
Change-Id: I4ea339d7b48a7ee8ae40f94a9fc71f3e409c07ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158421
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
There seems to be no reason why SE attribute dictionaries are separate
objects, they could just be inline, which saves a little space (1%)
and more importantly the PDF file is easier to read with less clutter.
Change-Id: Iaaea2432313c0b710edabecae32545205f4f495e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158392
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The problem is that for a hyperlink, multiple Link SEs are created, but
only one Link annotation; the Link SEs all point to the annotation but
the annotation can only point to one Link SE.
So try to create only one Link SE for a hyperlink, similar to commit
ee3c3fcf5c48964f7bc1d64484409f072c614866. This could be
further subdivided by Spans when formatting properties change but it
looks complicated and rarely needed.
Change-Id: I7d158b599ec744b03e78eeca88d717183f2ba1dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158387
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The problem was that a P or equivalent element is not allowed as child
of a TOC; previously the P was outside/before the TOC because the ToX
header was completely ignored but now it starts a SE for the ToC content
section before being ignored.
Tagged PDF Best Practice Guide suggests putting the header inside a
Caption element.
Another problem is that if the ToX header is on one page but the first
entry in the ToX content section is on the next page, BeginTag() created
a new SE for the ToX content section.
(regression from commit 033e37b49b5712df19dbfd2c307a102bce620de1)
Change-Id: I3c1f8fdda81c1f10198f5eaefc10bcd14f277a8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158298
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
...in include files. This is a mix of automatic rewriting in include files and
manual fixups (mostly addressing loplugin:redundantfcast) in source files that
include those.
Change-Id: I1f3cc1e67b9cabd2e9d61a4d9e9a01e587ea35cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158337
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I6756f1f19b9cc178191a47ea81857981f44aced0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158264
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Iaeacacbbb0eec907d884219aa2bcfe7a86f00a2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158291
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The problem is that the new Lbl/LBody elements are produced even for
outline nodes, but those aren't represented as lists at all, but as
headings H1..H10.
Plausible representation of the heading label could be in a Lbl element
inside H1, or simply as plain text; i can't find any recommendation
either way.
Let's try Lbl inside H1, neither veraPDF nor PAC3 complain about it.
(regression from commit 9b38beadf9eaf027b201cdf0ecb2bce5611014dd)
Change-Id: I691957d0c4a80d1339cb2b87c72c9aa652abfb9a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158127
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
regression from
commit 3622404f09448b82c095256140afe6240b522ece
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Oct 11 12:54:43 2023 +0200
tdf#157636 FILEOPEN: PPT: Images have no background
But actually from
commit 81994cb2b8b32453a92bcb011830fcb884f22ffe
Convert internal vcl bitmap formats transparency->alpha (II)
where BitmapEx::CombineMaskOr was not properly updated.
To make this stuff more obvious, add a version of CombineOr
called AlphaCombineOr that only operates on AlphaMask objects.
Change-Id: I8222bcdd7babefb748d21a71d02775c6a74bf068
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158085
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is like commit d467f1aa3d028f399826c97e2eecedcd79efcf65
and commit 6e5d59c2ca6969e9491f97cd7a00d094fc62cfb3 but for the
form controls, which have their own special ControlPrimitive2D.
Change-Id: I4b4ac45e81f490a7b625acd9e8753300d10bf119
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157847
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The problem is that the CreateLink and CreateControl actions are
replayed in a different order than they are recorded, because CreateLink
is a global action, and CreateControl a page action.
This means that the mCurId at the time when
PDFExtOutDevData::CreateControl() is called does not correspond to a
position in mParaIds when CreateControl is replayed; it will be inserted
too early and bump all the CreateLink ones to later indexes.
Avoid this by adding another global action CreateControlLink that is
added when CreateControl is being replayed, which appears to work.
(Another subtle problem is that, in case of PDF/A-1, the page actions
could be discarded completely; this should work in that case too.)
(regression from commit d4d471fc88fe4fd14f44dfccdfe360dec327d4f0)
Change-Id: I92d89ac08db6548e9f0d1480d984aeacb4d22262
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157767
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
we are spending a lot of time in SalLayoutGlyphsCache::GetLayoutGlyphs,
and most of that is inserting into the GlyphsCache, which has a very
very large key.
Shrink that key a little bit on 64-bit machines, where tools::Long is
64-bit, which is quite unnecessary for FontMetric fields.
Change-Id: I64983d191ba9aeb76671671443ea90f90fd2c401
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157753
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...that have been made unused by 7ef3d937415185ef66e32dd3043783eddcd03db5
"loplugin:ostr: Rewrite some uses of O[U]String to use ""_ostr/u""_ustr
literals". (And which means we can remove the relevant code from that plugin
again.)
(This also found a handful of remaining uses that had been hard for the plugin
to discover, along the lines of
> std::map<OUString, int> m = {{u"foo", 0}};
being represented by a
> DeclStmt 0xdaca578 <line:103:5, col:50>
> `-VarDecl 0xdac9150 <col:5, col:49> col:29 s11 'std::map<OUString, int>':'std::map<rtl::OUString, int>' cinit destroyed
> `-ExprWithCleanups 0xdaca548 <col:35, col:49> 'std::map<OUString, int>':'std::map<rtl::OUString, int>'
> `-CXXConstructExpr 0xdaca508 <col:35, col:49> 'std::map<OUString, int>':'std::map<rtl::OUString, int>' 'void (initializer_list<value_type>, const std::less<rtl::OUString> &, const allocator_type &)' list std::initializer_list
> |-CXXStdInitializerListExpr 0xdaca480 <col:35, col:49> 'initializer_list<value_type>':'std::initializer_list<std::pair<const rtl::OUString, int>>'
> | `-MaterializeTemporaryExpr 0xdaca468 <col:35, col:49> 'const std::pair<const rtl::OUString, int>[1]' xvalue
> | `-CXXBindTemporaryExpr 0xdaca448 <col:35, col:49> 'const std::pair<const rtl::OUString, int>[1]' (CXXTemporary 0xdaca448)
> | `-InitListExpr 0xdac9df0 <col:35, col:49> 'const std::pair<const rtl::OUString, int>[1]'
> | `-CXXConstructExpr 0xdaca408 <col:36, col:48> 'const std::pair<const rtl::OUString, int>' 'void (const char16_t (&)[4], int &&) noexcept(_S_nothrow_constructible<const char16_t (&)[4], int>())' list
> | |-StringLiteral 0xdac91b8 <col:38> 'const char16_t[4]' lvalue u"foo"
> | `-MaterializeTemporaryExpr 0xdaca3f0 <col:46> 'int' xvalue
> | `-IntegerLiteral 0xdac91d8 <col:46> 'int' 0
> |-CXXDefaultArgExpr 0xdaca498 <<invalid sloc>> 'const std::less<rtl::OUString>':'const std::less<rtl::OUString>' lvalue
> `-CXXDefaultArgExpr 0xdaca4b8 <<invalid sloc>> 'const allocator_type':'const std::allocator<std::pair<const rtl::OUString, int>>' lvalue
Clang AST.)
Change-Id: I496fe9d4d5e1a033cb7b27b4e04b303f8ddbed4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157756
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The SE IDs in PDFExtOutDevData and PDFWriterImpl are supposed to match.
If PDF/A-1 is exported then RemoveTransparenciesFromMetaFile() is
called and that does unspeakable things to the Metafile and then we just
throw away the PDF related data for the page in
PDFExtOutDevData::ResetSyncData().
This means that then EnsureStructureElement are called on
PDFExtOutDevData but not on PDFWriterImpl, so on the next page the IDs
will no longer match, which is noticed if there is no transparency to be
removed on that page.
pdfextoutdevdata.cxx:347: bool vcl::PageSyncData::PlaySyncPageAct(): Assertion `id == -1 || id == mParaInts.front()' failed.
Guess the easiest way to deal with this is to have the premature
ResetSyncData() replay only the EnsureStructureElement actions, which is
only possible because they don't really require any extra data stored in
the ridiculous vectors in PageSyncData; PDFWriterImpl will eventually
remove the elements as they are never initialised.
(regression from commit 07d790ca473cd6e71f0343419b819fa6b485dc01)
Change-Id: I8eb295504067edff00608e28fd86b0c86d547083
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157748
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
See e.g. https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/148996/consoleFull#699387013baec2b5c-2b20-4190-a3fa-ceac4be9cf93
> error: use a _ustr user-defined string literal instead of constructing an instance
> of 'rtl::OUString' from a UTF-16 string literal [loplugin:ostr]
Change-Id: Ia813425bc75e4351add73b8665355d02222ccf78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157629
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|