From 4eed0937c971a21287da639e0708c682d0241ea2 Mon Sep 17 00:00:00 2001 From: Katarina Behrens Date: Wed, 4 Apr 2018 13:29:09 +0200 Subject: tdf#104658: Fix jumping bitmap-filled chart bars Coincidentally this also resolves almost identical issues in chart wall (tdf#114132) Change-Id: Ib566110639d00aa46463ee592861ce3e15c64f50 Reviewed-on: https://gerrit.libreoffice.org/52624 Tested-by: Jenkins Reviewed-by: Katarina Behrens (cherry picked from commit 2eaa978d135a53abf22df2dc3fcb8d04733fe2d3) Reviewed-on: https://gerrit.libreoffice.org/52978 Reviewed-by: Miklos Vajna --- .../controller/itemsetwrapper/GraphicPropertyItemConverter.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx b/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx index f6e3e7a16bd5..b5d7ff68c864 100644 --- a/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx @@ -429,9 +429,14 @@ bool GraphicPropertyItemConverter::ApplySpecialItem( bool bStretched = rItemSet.Get( XATTR_FILLBMP_STRETCH ).GetValue(); drawing::BitmapMode aMode = (bStretched ? drawing::BitmapMode_STRETCH : drawing::BitmapMode_NO_REPEAT); + drawing::BitmapMode aOtherMode = drawing::BitmapMode_NO_REPEAT; aValue <<= aMode; - if( aValue != GetPropertySet()->getPropertyValue( aModePropName )) + GetPropertySet()->getPropertyValue( aModePropName ) >>= aOtherMode; + + // don't overwrite if it has been set to BitmapMode_REPEAT (= tiled) already + // XATTR_FILLBMP_STRETCH and XATTR_FILLBMP_TILE often come in pairs, tdf#104658 + if( aMode != aOtherMode && aOtherMode != drawing::BitmapMode_REPEAT ) { GetPropertySet()->setPropertyValue( aModePropName, aValue ); bChanged = true; -- cgit v1.2.3