From be2ea4ebe3f969ee9ac4c8da40cdbe6d8f011e58 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 26 Jan 2024 16:58:23 +0000 Subject: restore original Outliner background after getting transferrable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inserting a chart into a dark mode writer will initially incorrectly show auto color text as dark while is is in edit mode, then once you leave edit mode the auto text is correctly white. But it looks like that apparently correct white color is itself a bug from the copy clipboard transferrable setting a good background and then not restoring it afterwards. Change-Id: Ib019eb494b623bdda22019d587210db2c39987f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162566 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- svx/source/unodraw/UnoGraphicExporter.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'svx') diff --git a/svx/source/unodraw/UnoGraphicExporter.cxx b/svx/source/unodraw/UnoGraphicExporter.cxx index c7bd99d93a0b..4b971936b82a 100644 --- a/svx/source/unodraw/UnoGraphicExporter.cxx +++ b/svx/source/unodraw/UnoGraphicExporter.cxx @@ -597,7 +597,8 @@ bool GraphicExporter::GetGraphic( ExportSettings const & rSettings, Graphic& aGr SdrOutliner& rOutl=mpDoc->GetDrawOutliner(); maOldCalcFieldValueHdl = rOutl.GetCalcFieldValueHdl(); rOutl.SetCalcFieldValueHdl( LINK(this, GraphicExporter, CalcFieldValueHdl) ); - rOutl.SetBackgroundColor( pPage->GetPageBackgroundColor() ); + ::Color aOldBackColor(rOutl.GetBackgroundColor()); + rOutl.SetBackgroundColor(pPage->GetPageBackgroundColor()); // #i102251# const EEControlBits nOldCntrl(rOutl.GetControlWord()); @@ -989,6 +990,8 @@ bool GraphicExporter::GetGraphic( ExportSettings const & rSettings, Graphic& aGr // #i102251# rOutl.SetControlWord(nOldCntrl); + rOutl.SetBackgroundColor(aOldBackColor); + return bRet; } -- cgit