summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2021-02-01 17:44:39 +0100
committerMiklos Vajna <vmiklos@collabora.com>2021-02-02 09:50:14 +0100
commitb982d0e6f94ca70765231ff4242c829f5bec5def (patch)
treec8dd4761ad8a86508e9f99b7bf3df61638f3d9fa
parentfac1dbc160321dcfebfd2ce3346199f2a6ea12f7 (diff)
sw lok: disable field shadings
There are two problems with it: First, the field shading is rendered behind bullet portions depending on the cursor position (if the cursor is before the bullet, then we render it; but not if the cursor is after the bullet), and tiled rendering assumes that the render result is independent from the cursor position. Second, field shading is always painted directly (not going via invalidation), so it's possible to end up with one tile showing field shadings and another not, which is inconsistent. And even if it would be there consistently, that would mean a lot of unnecessary invalidations. The alternative would be to disable this from online.git's loolconfig.xcu, but the item's path would end with something like "ColorScheme['LibreOfficeDev']/WriterFieldShadings", which means it's not easy to do this in a way that's independent from the product name. (cherry picked from commit 876da94619d561e4b4c6c7d12a8d6726eb857df8) Change-Id: I23c62acc3c15966cfba98fcee99cc96854ba4394 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110283 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 42d872352e92..a3f165c1ff61 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -3479,6 +3479,10 @@ void SwXTextDocument::initializeForTiledRendering(const css::uno::Sequence<css::
// Tiled rendering defaults.
SwViewOption aViewOption(*pViewShell->GetViewOptions());
aViewOption.SetHardBlank(false);
+
+ // Disable field shadings: the result would depend on the cursor position.
+ SwViewOption::SetAppearanceFlag(ViewOptFlags::FieldShadings, false);
+
for (const beans::PropertyValue& rValue : rArguments)
{
if (rValue.Name == ".uno:HideWhitespace" && rValue.Value.has<bool>())