Age | Commit message (Collapse) | Author |
|
The order of parameters for vcl::bitmap::premultiply and
vcl::bitmap::unpremultiply was wrong because when doing
that I just used the same order that the indexing that was
to be replaced used it. Corrected that.
Change-Id: I59473acca8afdc58105b3381d1fdcedd6c0fd83b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173683
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I4be65927215dbf9c10ecd51baca42b59b569d75b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173677
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I236d016dd51f219b63a7d7fb6b0cb83a06b960c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173661
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use `qobject_cast` instead of `dynamic_cast` to
cast to QtMimeData.
Add the `Q_OBJECT` macro to the class, as the
the qobject_cast doc [1] says:
> Warning: If T isn't declared with the Q_OBJECT macro, this function's
> return value is undefined.
Change-Id: I5de2d8dbf62ed1293f3660acae44e3b13ab5df71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173660
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use `qobject_cast` instead of `dynamic_cast`
when casting to native Qt widgets.
It should be faster.
Quoting from the doc [1]:
> The qobject_cast() function behaves similarly to the standard C++
> dynamic_cast(), with the advantages that it doesn't require RTTI support
> and it works across dynamic library boundaries.
[1] https://doc.qt.io/qt-6/qobject.html#qobject_cast
Change-Id: I20d4cca6936eeeb6f8367f82a9d11f12ada63e2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173659
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
When a popup gets hidden, destroy its associated
QWindow.
This prevents a "top-level" a11y object being reported
when a popup gets shown, then hidden again, e.g. after
expanding the Paragraph Style combobox in Writer's
Formatting toolbar, then closing it again.
Showing the popup results in a QWindow being created
that would not implicitly be destroyed when the
popup gets hidden again.
Due to popups in LO currently not using the Qt::Popup
type, but Qt::ToolTip, they are considered for top-level
a11y children of the app, see the commit message of
Change-Id: I7aff5c435dfa8b6aadcbbedb0d84db19bb86c8ab
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Sep 19 09:15:37 2024 +0200
qt a11y: Defer QWindow creation until frame gets shown
for more details.
Only delete the QWindow for non-spontaneous hide events,
as the QWidget::hideEvent doc [1] says:
> Note: A widget receives spontaneous show and hide events when its
> mapping status is changed by the window system, e.g. a spontaneous hide
> event when the user minimizes the window, and a spontaneous show event
> when the window is restored again. After receiving a spontaneous hide
> event, a widget is still considered visible in the sense of isVisible().
With this commit in place, after starting Writer, opening the
Paragraph Style combobox, then closing it again, only the
Writer window is shown as a top-level child of the app
in Accerciser when using the qt6 VCL plugin, as expected.
Showing the popup again works just fine, as a new QWindow
is implicitly created then.
[1] https://doc.qt.io/qt-6/qwidget.html#hideEvent
Change-Id: Iefa5d05ea128966c4417d53d122a6a0f1178fc00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173657
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Calling QtFrame::windowHandle makes sure that the
QWindow exists, by calling
QWidget::setAttribute(Qt::WA_NativeWindow).
QWindows that don't have the Qt::Popup or Qt::Desktop
type, are listed as accessible children of the application,
see QAccessibleApplication::child [1] in qtbase and the
`topLevelObjects()` [2] helper method it uses.
This resulted in various dummy "top-level" objects being
reported as children of the LibreOffice a11y app object,
and therefore shown in Accerciser.
For Writer, there are 2 instances for each of the popups for
the comboboxes in the formatting toolbar that get reported
as toplevels, as can seen by printing the accessible ID of
their parent objects in Accerciser (they have a parent different
from the app, since they're not actually top-levels):
Paragraph style combobox:
In [4]: acc.parent.accessibleId
Out[4]: 'applystyle'
Font name combobox:
In [5]: acc.parent.accessibleId
Out[5]: 'fontnamecombobox'
Font size comobobox:
In [6]: acc.parent.accessibleId
Out[6]: 'fontsizecombobox'
While these *are* popups, the Qt::Popup type is currently
not used for them in LO to work around another issue
with these popus on Wayland, but the Qt::Tooltip type
is used, see the QtFrame ctor and comments there.
To prevent these wrong "top-levels" from always being
part of the a11y tree due to that, defer creating the QWindow
by calling QtFrame::windowHandle to when the window
is actually needed, in QtFrame::Show.
Pass the Qt::UniqueConnection connection type param
in the call to QObject::connect [3], to avoid
duplicate connections if the frame gets hidden/shown
multiple times. (Other than the ctor, QtFrame::Show
could potentially get called multiple times.)
With this in place, Accerciser now only shows a single
top-level frame after starting LO Writer with the qt6
VCL plugin, which is the actual Writer window.
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/accessible/qaccessibleobject.cpp?id=0681e720a9851f1873ce5a5f99b5567d2b418261#n160]
[2] https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/accessible/qaccessibleobject.cpp?id=0681e720a9851f1873ce5a5f99b5567d2b418261#n122
[3] https://doc.qt.io/qt-6/qobject.html#connect
Change-Id: I7aff5c435dfa8b6aadcbbedb0d84db19bb86c8ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173656
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Instead of running only parts of the method
explicitly in the main thread, ensure this
for the whole method.
Also, add a SolarMutexGuard at the beginning.
Change-Id: I9c510b2d58ee5a3b05c1a16ce8e53077c7075caa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173655
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I9a3cdda4d1dfa0b23a3ea6dd99341cb17ca47490
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173580
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
|
|
Change-Id: I291dcc19e429493289cd2be8367a0d1e0c6d2296
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173646
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
even if by keyboard. So spinbuttons that depend on losing focus to
update will update before 'ok' is called.
Change-Id: I1eddd4c29c3ffeb06ead058c9efbdfde01418589
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173616
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Instead of always passing `nullptr` for the
parent to the `QtInstanceBuilder`, use
`QtInstance::GetNativeParentFromWeldParent` in order
to find a QWidget that can be used for the parent.
This makes the "Save Document?" dialog in the
WIP Gerrit change [1] (patch set 24 that actually
makes use of the parent) properly modal on top
of the Writer window, so the dialog no longer
disappears behind the Writer window when using
Alt+Tab.
[1] https://gerrit.libreoffice.org/c/core/+/161831
Change-Id: I84de0c4808d76020103f10ebaacb03908a6ee815
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173594
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Move the logic to find a QWidget parent mostly introduced
in
commit 1e2836665a1839f61cd8bfa46c54687f010e7e9d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Aug 30 18:17:53 2024 +0200
tdf#162696 tdf#130857 qt weld: Get parent via SalInstanceWidget
to a helper method, for reuse in `QtInstance::CreateBuilder`
in an upcoming commit.
Change-Id: Ied41e7f5054f08382668292042f2a9978c6bed91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173593
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Add new `QtInstanceBuilder` that derives from
`weld::Builder` and is meant to use
`weld::Widget` implementations using native
Qt widgets.
Override `SalInstance::CreateBuilder` in
`QtInstance` to return an instance of the new
`QtInstanceBuilder` for UI files that that one
can handle/supports.
As of now, `QtInstanceBuilder` doesn't yet
implement what's needed, so
`QtInstanceBuilder::IsUIFileSupported` currently
still always returns `false`, meaning that
`SalInstanceBuilder` is still always used in
practice.
The idea is to implement funcationality needed for a
specific UI file/dialog in `QtInstanceBuilder`, then add
it to the set of supported UI files in
`QtInstanceBuilder::IsUIFileSupported`.
This allows looking at one .ui file at a time and only having
to implement what is relevant for that particular one, without
having to implement the full weld API at once.
The use of `QtInstanceBuilder` can completely be
disabled by starting LO with environment variable
`SAL_VCL_QT_NO_WELDED_WIDGETS` set.
This commit is mostly extraced from Omkar Acharekar's WIP
Gerrit change [1] (patch set 22) with some further
adjustments by Michael Weghorn. Patch set 23
of that WIP Gerrit change demonstrates adding
support for a dialog (the "Save Document?" one), but
still needs more work.
[1] https://gerrit.libreoffice.org/c/core/+/161831
Co-authored-by: Michael Weghorn <m.weghorn@posteo.de>
Change-Id: If2d1ea30d43c2c1d84d64e577035489c8e158a7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173592
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ie44884a3010cd26b057bac593059a4bd0a3aabc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173345
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Add a protected getter, `getHelpRoot()` to access it.
Change-Id: Idb2f6834e13f6b7d04abe0a3c607444383e6ee1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173577
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This is basically the same as
Change-Id: Iba98406817906e36fb8dc723c8e9b4b554eb2258
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Sep 17 19:35:22 2024 +0200
tdf#130857 VclBuilder: Move adjustment bookkeeping to base class
, but for the `TextBuffer`s instead of the `Adjustment`s.
Change-Id: I0f53718892f70a285a7f8b0d8e9e112d48dedb50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173575
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
A GtkAdjustment represents a value with an upper and
lower bound. Move bookkeeping of the adjustments from
`VclBuilder` to the base class `BuilderBase`, so this
can be reused by other subclasses in the future.
For now, adding adjustments by calling
`BuilderBase::addAdjustment` only happens in the
(currently still) VclBuilder-specific `VclBuilder::handleObject`,
but this is one step towards making it useful outside of it.
Change-Id: Iba98406817906e36fb8dc723c8e9b4b554eb2258
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173574
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Extract parsing of these attributes from `VclBuilder::handleObject`
to a new helper method `BaseBuilder::extractClassAndIdAndCustomProperty`
in the base class.
Change-Id: I248448407db446fd61bf91bf13c9bc187e0706d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162918
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Turn the `extractOrientation` helper function into
a static helper method `BuilderBase::hasOrientationVertical`
for reuse in the pending WIP Gerrit change to implement
a `QtBuilder` [1], which currently duplicates this method
in patch set 18.
[1] https://gerrit.libreoffice.org/c/core/+/161831/18
Change-Id: I8255188ae66727d0832e8d6b41952649de07a679
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173546
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I088db3a8defd4cddee657c25d35724932339b983
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173541
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and
cid#1607920 Overflowed integer argument
cid#1606589 Overflowed integer argument
cid#1606576 Overflowed integer argument
Change-Id: I2b1c0e871e7f7a913e0f14128fb13fc04d993ca1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173520
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Extend `QtFilePicker` to implement the new feature
added and implemented for other file picker implementations
in
commit 426c641976688e3e4d1ce66f76b27ccbd2dca55a
Author: Sarper Akdemir <sarper.akdemir@allotropia.de>
Date: Wed Jul 17 12:47:22 2024 +0200
tdf#159040: add sign with default certificate to save dialog
This makes the checkbox show up when opening the
"Save As" dialog in Writer using Ctrl+Shift+S and
behaves as expected when a GPG key has previously been
set in "Tools" -> "Options" -> "User Data"
-> "Signing Key".
When no signing key is set there, the checkbox currently
isn't disabled as expected, but that's a separate issue,
also seen with the "Edit filter settings" checkbox that
is disabled with gtk3, but not with qt6 independent of this
commit.
Change-Id: I9edf65a31f8268feb13fd6abf627744d68fd79e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173453
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ibd30f03513661762613cc0b386acc48eb994bc2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173422
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
got a case similar to
https://github.com/pnggroup/libpng/issues/587
with a backtrace of:
/work/workdir/UnpackedTarball/libpng/png.c:1475:23: runtime error: signed integer overflow: -1703155269 - 692774662 cannot be represented in type 'png_fixed_point' (aka 'int')
#0 0x59bbf901eab0 in png_XYZ_from_xy /work/workdir/UnpackedTarball/libpng/png.c:1475:23
#1 0x59bbf901eab0 in png_colorspace_check_xy /work/workdir/UnpackedTarball/libpng/png.c:1610:13
#2 0x59bbf901d8bc in png_colorspace_set_chromaticities /work/workdir/UnpackedTarball/libpng/png.c:1717:12
#3 0x59bbf9046855 in png_handle_cHRM /work/workdir/UnpackedTarball/libpng/pngrutil.c:1302:10
#4 0x59bbf902d064 in png_read_info /work/workdir/UnpackedTarball/libpng/pngread.c:175:10
#5 0x59bbf7c331d6 in (anonymous namespace)::reader(SvStream&, Graphic&, GraphicFilterImportFlags, BitmapScopedWriteAccess*, BitmapScopedWriteAccess*) /src/libreoffice/vcl/source/filter/png/PngImageReader.cxx:404:5
#6 0x59bbf7c36960 in read /src/libreoffice/vcl/source/filter/png/PngImageReader.cxx:845:55
#7 0x59bbf7c36960 in vcl::PngImageReader::read() /src/libreoffice/vcl/source/filter/png/PngImageReader.cxx:850:5
#8 0x59bbf786fe57 in LLVMFuzzerTestOneInput /src/libreoffice/vcl/workben/pngfuzzer.cxx:52:19
(gdb) print *xy
$1 = {
redx = 9,
redy = 131616,
greenx = 598048,
greeny = 538976288,
bluex = 0,
bluey = 151551,
whitex = 538976288,
whitey = 538976288
}
but not reproducible with a typical utility because we're unusually
ignoring crc errors for fuzzing so reenable those and see if a testcase
can be generated anyway.
Change-Id: Ifc050ee082800906b087609154ec29ca39cd8fe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173409
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I255d70adf055e36c722b0cd52b7843a878eb9a96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173379
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I3126ca571e8120797ca9d61da6a902398f57b337
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173349
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use modern connect syntax and address the warning about
the use of a deprecated signal that this revealed:
`QCheckBox::checkStateChanged` was introduced in Qt 6.7 [1]
and `QCheckBox::stateChanged` was deprecated in Qt 6.9 [2].
In file included from .../libreoffice/vcl/qt6/QtFilePicker.cxx:10:
.../libreoffice/vcl/qt6/../qt5/QtFilePicker.cxx:693:44: error: 'stateChanged' is deprecated: Use checkStateChanged() instead [-Werror,-Wdeprecated-declarations]
693 | connect(pCheckbox, &QCheckBox::stateChanged, this,
| ^
.../qt5/qtbase/src/widgets/widgets/qcheckbox.h:40:19: note: 'stateChanged' has been explicitly marked deprecated here
40 | QT_MOC_COMPAT QT_DEPRECATED_VERSION_X_6_9("Use checkStateChanged() instead")
| ^
.../qt5/qtbase/src/corelib/global/qtdeprecationmarkers.h:179:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_9'
179 | # define QT_DEPRECATED_VERSION_X_6_9(text) QT_DEPRECATED_X(text)
| ^
.../qt5/qtbase/src/corelib/global/qtdeprecationmarkers.h:29:33: note: expanded from macro 'QT_DEPRECATED_X'
29 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
.../qt5/qtbase/src/corelib/global/qcompilerdetection.h:1004:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
1004 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
[1] https://doc.qt.io/qt-6/qcheckbox.html#checkStateChanged
[2] https://doc.qt.io/qt-6/qcheckbox-obsolete.html#stateChanged
Change-Id: I0787b378855009abea740a0f5c1aab537c41987e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173348
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ic4a6c64de834b133a2708807d45c39d6ada4a00c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173347
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
There's no reason to use that macro.
As the doc says [1]:
> /* * Compatibility macros for C++11/14 keywords and expressions.
> * Don't use in new code and port away whenever you have a chance.
> */
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qcompilerdetection.h?id=07749de7ef59827a2deb2719cd20208bdce201e2#n935
Change-Id: I93ef0ae34a737a6ff93270f52ba308bd90bfc505
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173343
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I711b82e2c86035aa1bfbb245c125be65277043f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173198
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I2a257211d7fdf22abb8d6e1f994293873348b38e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173191
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I8232751174dccc55139ab4878950636c32b1d6a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173199
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
which indicating unit test fails.
Change-Id: I2689b0dda888e15e52ca60cc18e1705a1aefe968
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173143
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: Ice2be2156474cf486ad1c461d65e2711ebf43d2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173232
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
If an `XAccessible` doesn't have a context or
`XAccessibleContext::getAccessibleIndexInParent()` returns
an invalid index of -1, don't crash/assert, but
let `lo_accessible_get_next_accessible_sibling` return
`nullptr`.
This works around potential bugs in underlying
`XAccessible`/`XAccessibleContext` implementations for now.
This is meant to fix the assert/crash seen in the backtraces
attachment 196363 and attachment 196383 from tdf#161256
which I cannot reproduce locally on Debian testing.
Change-Id: Ic1779d875161469bf296c558039e19f1d426a259
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173216
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ie4ca362c936c8cbb4850d438e0bd6c2ed91f95d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173189
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I157109d11b349e1304a3279471d4ab90b65b5841
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173138
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8ea1e95abb62374b51de7b1d37055c216b29e04c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173125
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
Renamed variables, moved to declare closer to first use.
Change-Id: I60b909c79d7c12c81247af2013228be84b42991e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172916
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
Change-Id: Id1ac622d7a2f15d432fa122b87217c0bfa9a39a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172626
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
(cherry picked from commit 832eee15118babf772f19a820ef88603fb6e5ccd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173066
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ib8082d81da0eec54ba201b5958b86770a508ec91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172099
Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit d805785b2cf7c570fc0bb480100bc50d8fbc5077)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172745
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: If4a8a1a73c382f496b2c6dd4d52271dc6bc87dda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172877
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
|
|
See `QtFrame::UpdateSettings()`, where `StyleSettings::WindowColor` is
set to aBase (QPalette::Base) and `StyleSettings::DialogColor` is set to
WindowColor in a call to `StyleSettings::BatchSetBackgrounds`.
The issue is that without this patch in place, "GetWindowColor()" doesn't
return the color of the window, instead it returns the "base color" from
QPalette.
It had some unintendedd consequences like the "Animation Panel" in the
Impress's Animations sidebar not being painted with the correct color,
as it was expecting the old WindowColor. This patch also fixes that by
changing WindowColor to FieldColor in `SalInstanceWidget::set_stack_background()`
https://gerrit.libreoffice.org/c/core/+/168901/comment/0e5201bd_2cae07b9/
Change-Id: I36f8c5efd8c3e87ded19a1efc00ed9c69a7fccf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171916
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ieaed72cbb0f915be4676d0df9bffe20e9fbfd0da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172616
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: If4d33cbbf36a9ad495b80a7347b39d0f4bc0405e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172857
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This change includes the following scalability improvements for
documents containing extremely large paragraphs:
- Reduces the size of layout contexts to account for LF control chars.
- Due to typical access patterns while laying out paragraphs, VCL was
making O(n^2) calls to vcl::ScriptRun::next(). VCL now uses an
existing global LRU cache for script runs, avoiding much of this
overhead.
Change-Id: Iee03938683c95776a817d4819fe9a43c65a7c3fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172801
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
|
|
Change-Id: I5fc9823b6d0ca88505e8d4e6127fac7e776fa1a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171784
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Change-Id: I49f971796ed880f14514cc3f52bcd4405c16ecce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172787
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Previously, drawing hairlines (i.e. zero line width) was only
suppressed when running unit tests. But drawing hairlines causes
unexpected shifting of the lines when using a Retina display on
macOS and antialiasing is disabled.
Change-Id: I6e788099c110862afc1f7a085dfac4a2908ca51b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172742
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
|