[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sw/source

Miklos Vajna (via logerrit) logerrit at kemper.freedesktop.org
Tue Feb 2 08:50:52 UTC 2021


 sw/source/uibase/uno/unotxdoc.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit b982d0e6f94ca70765231ff4242c829f5bec5def
Author:     Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Mon Feb 1 17:44:39 2021 +0100
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Tue Feb 2 09:50:14 2021 +0100

    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 at gmail.com>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>

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>())


More information about the Libreoffice-commits mailing list