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