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 <bdrung@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