Hi,

here's a patch to fix bug fdo#35365. Please also apply the patch in the
3.5 and 3.6 branch.

The underlying bug fdo#50861 is only partially fixed by this patch. At
least two solutions comes to my mind for a full fix:
1) Store the default colors in the document.
2) Hardcode the default colors.

What do you think? What's the right approach to fix fdo#50861?

My current and all future contributions to LibreOffice, unless
stated otherwise, are licensed under LGPLv3+/MPL until further notice.

PS: Thanks to Björn Michaelsen, who helped me to dive into the code on
the LinuxTag.

-- 
Benjamin Drung
Debian & Ubuntu Developer
From 456ec746d130d736caa526dfddc8d138fff6c797 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <bdr...@debian.org>
Date: Fri, 8 Jun 2012 00:19:25 +0200
Subject: [PATCH] fdo#35365 Set the default font color to black and the
 document color to white.

The font and document color of a Writer document or an Impress presentation
should not be derived from a desktop theme. A Writer documents needs to look
good on paper. An Impress presentation may have it's own theme. The appearance
of a document should not change by changing the desktop theme.

With this change a document looks the same on any computer if the user do not
change the default colors.

Change-Id: Ia42ca7882f0d2dd1f2a304db5e4b5aaba23244fc
---
 svtools/source/config/colorcfg.cxx |   12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/svtools/source/config/colorcfg.cxx b/svtools/source/config/colorcfg.cxx
index abdb852..4f899af 100644
--- a/svtools/source/config/colorcfg.cxx
+++ b/svtools/source/config/colorcfg.cxx
@@ -412,12 +412,12 @@ Color ColorConfig::GetDefaultColor(ColorConfigEntry eEntry)
 {
     static const sal_Int32 aAutoColors[] =
     {
-        0, // DOCCOLOR
+        COL_WHITE, // DOCCOLOR
         0xc0c0c0, // DOCBOUNDARIES
         0x808080, // APPBACKGROUND
         0xc0c0c0, // OBJECTBOUNDARIES
         0xc0c0c0, // TABLEBOUNDARIES
-        0, // FONTCOLOR
+        COL_BLACK, // FONTCOLOR
         0xcc, // LINKS
         0x80, // LINKSVISITED
         0xff0000, // SPELL
@@ -462,18 +462,10 @@ Color ColorConfig::GetDefaultColor(ColorConfigEntry eEntry)
     Color aRet;
     switch(eEntry)
     {
-        case DOCCOLOR :
-            aRet = Application::GetSettings().GetStyleSettings().GetWindowColor();
-            break;
-
         case APPBACKGROUND :
             aRet = Application::GetSettings().GetStyleSettings().GetWorkspaceColor();
             break;
 
-        case FONTCOLOR :
-            aRet = Application::GetSettings().GetStyleSettings().GetWindowTextColor();
-            break;
-
         case LINKS :
             aRet = Application::GetSettings().GetStyleSettings().GetLinkColor();
             break;
-- 
1.7.9.5

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to