partial revert of...
commit 65b7b6322b662785bf032e66c76abc36c9a2bb0e
Date: Wed Feb 8 10:40:28 2017 +0200
loplugin:unusedenumconstants read-only constants in vcl
because we cast the com::sun:⭐:awt::SystemPointer values to PointerStyle
in VCLXPointer::setType and we've at least lost the PEN as used in the
slideshow context menu's pen mode
"toolkit/source/awt/vclxpointer.cxx" 74L, 2181C
Change-Id: I5ef677f70ebc491b50403de0f92179ea4ae3bb14
Reviewed-on: https://gerrit.libreoffice.org/36526
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Usually when the PDF file contains incremental updates the updates are
appended at the end of the document. But this is not required, the
various trailers can be in any order. Make sure that we look at the last
trailer (logically last, not the one with the largest file offset) when
looking for pages.
Change-Id: Idcd85a7c6bbf08c9436dd73933d79cdb683f482c
Reviewed-on: https://gerrit.libreoffice.org/36527
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Also get rid of the GetKeyOffset() and GetKeyValueLength() calls when
copying dictionaries: the reference already knows its offset and length,
so no need to call them. This makes the dictionary and the array
handling more similar.
Change-Id: I65936acfaf857636a8d83da3a4cec69289eb89d8
Reviewed-on: https://gerrit.libreoffice.org/36282
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
This reverts commit d8faf3bf9a82e8f49340b5020ec4ee931cc2f3f4.
This causes an infinite recursion in JunitTest_sfx2_complex
involving the newly added SignatureHelper::updateInfoBarState().
There were a number of problems here:
- the /Resources key of a page object may be an indirect object
- the /Font key of a resource object may be an indirect object
- the /Length key of an object may be an indirect object
So in all these cases handle not only a direct dictionary / number but
also when we have a reference-to-dictionary/number.
Change-Id: Ie74371f0ba43a133a1299843ef20cbfc75fe26d7
The rare crashes in MenuFloatingWindow::ImplGetStartY() and
MenuFloatingWindow::ImplScroll(bool) likely happen because
of a disposed Menu.
Let's guard against invalid accesses.
Change-Id: Ie31240abbc48c06edd40d0a95f319725cdb3db16
Reviewed-on: https://gerrit.libreoffice.org/36026
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Mostly generated using
make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle"
Except some modules have their own foo::tools namespace, so there have
to use ::tools::Rectangle. This commit just moves the class from the
global namespace, it does not update pre/postwin.h yet.
Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2
Reviewed-on: https://gerrit.libreoffice.org/35923
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
When copying font definitions the dictionary has multiple values where
the type is a reference. Improve PDFWriterImpl::copyExternalResource(),
so that multiple references are copied correctly as well.
With this the bugdoc (from comment 5) text appears in the output.
Change-Id: I2343e616d8b36e3cdcbd4e713bd3f7fa7bce6d3b
Reviewed-on: https://gerrit.libreoffice.org/35760
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
So far only the dictionary and the stream of the object was copied, see
if it has an array, and take care of that as well.
Also check if the array contains a reference and act accordingly.
Change-Id: I7f3bb12ec0bbc6f6e1db4f43625c7768b862c895
Reviewed-on: https://gerrit.libreoffice.org/35744
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
...in preparation of teaching loplugin:redundantcast about C-style casts in
macro bodies.
TRGB_COLORDATA contained a curious cast to sal_Int32 (instead of sal_uInt32 aka
ColorData), but for one that affected (by accident?) only the fist term of the
... | ... | ... | ... expression (so the ultimate expression was of type
sal_uInt32), and for another before a83698b980424be214829b3ee7cdbf8d2a778755
"tools: split out color macros into own header" there were two different
definitions of TRGB_COLORDATA, and only one casted to sal_Int32 (the other to
ColorData).
Change-Id: I5bfffe5614d0424202268ef7adaf6a0da61ec30a
Reviewed-on: https://gerrit.libreoffice.org/35679
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Start copying referenced objects recursively, and also take care of
updating references to the object IDs as they appear in our output.
With this, the 4th image referenced from the PDF image has a correctly
updated reference in its dictionary's ColorSpace key.
Change-Id: I8b49701c1f60bd0ef5a097b24ce59164554c44fa
Reviewed-on: https://gerrit.libreoffice.org/35653
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
The PDF code in xmlsecurity served two purposes:
- a generic PDF tokenizer
- signature verification
The first purpose is useful to have in VCL, so the PDF export code can
use it as well when it comes to PDF image handling.
This commit just moves most of the PDF code to VCL, it does not touch
the PDF export code yet. With this, also the somewhat odd xmlsecurity
dependency of CppunitTest_vcl_pdfexport can be removed as well.
Change-Id: I6fe8294ed5c4aa4d79f4b2ddef80a4d1c9d566cc
Reviewed-on: https://gerrit.libreoffice.org/35513
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Possibility to add multiple context containers.
Each container should have name "ContextContainer"
or "ContextContainerX" where X >= 1
Change-Id: Ie689ebde624f766b11d96370d6b108018f9130c9
Reviewed-on: https://gerrit.libreoffice.org/35506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Szymon Kłos <eszkadev@gmail.com>
The long term goal for this logging is that it generates content in a
DSL for the UI testing. The generated file can then be interpreted by
the UI testing and replay the interaction with the UI.
For now the plan is to have a readable output of what happens in the UI
layer that allows to quickly transform it to a UI test.
Change-Id: Ic536db766e41d03d048c920f6d551047af6fbb74
Reviewed-on: https://gerrit.libreoffice.org/35447
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Condition is deprecated already, but there is no need for the
SolarThreadExecutor class to use the low-level C-API, when in fact there
is a C++ fascade that calls on this via the C++ abstraction,
osl::Condition.
This will make it much easier to switch to using std::condition_variable
in the future.
Change-Id: I81e8530d42fe1451c4ca5bce998b13de0576bc4e
Reviewed-on: https://gerrit.libreoffice.org/35386
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
... across different platforms/themes, so the standard
palette will always fit without a scrollbar. For this,
we must not hardcode some arbitrary fixed size, but
calculate the size based on the number of rows of the
standard palette.
Change-Id: Ica1d615b43b350aece6b2c29a73337439dd05ac6