summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranam Lashkari <lpranam@collabora.com>2020-04-24 10:35:45 +0530
committerAndras Timar <andras.timar@collabora.com>2020-05-27 08:51:52 +0200
commiteaac3a414e27aa221c6b1ee1fbfd10c39b5cda84 (patch)
treea5d8c774fb32ea19c5e030406b3de4f8e212395d
parent368033e18fef487a981ad8b53f8657ea0a0c98d3 (diff)
resolved: page gradient reset on reopening doc
in mobile phone Slide background set to gradient becomes black/white after reopening Change-Id: Ib579856c3df8b89c74b381f3d79870c467802848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92831 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94854 Tested-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r--sd/source/ui/view/drviews7.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx
index a1da9aa4226b..dc4b959fd39d 100644
--- a/sd/source/ui/view/drviews7.cxx
+++ b/sd/source/ui/view/drviews7.cxx
@@ -1807,9 +1807,15 @@ void DrawViewShell::SetPageProperties (SfxRequest& rReq)
if (SfxItemState::SET == pArgs->GetItemState(SID_FILL_GRADIENT_JSON, false, &pItem))
{
const SfxStringItem* pJSON = static_cast<const SfxStringItem*>(pItem);
- XFillGradientItem aGradient( XGradient::fromJSON(pJSON->GetValue()) );
+ XFillGradientItem aGradientItem( XGradient::fromJSON(pJSON->GetValue()) );
+
+ // MigrateItemSet guarantees unique gradient names
+ SfxItemSet aMigrateSet( mpDrawView->GetModel()->GetItemPool(), svl::Items<XATTR_FILLGRADIENT, XATTR_FILLGRADIENT>{} );
+ aMigrateSet.Put( aGradientItem );
+ SdrModel::MigrateItemSet( &aMigrateSet, pTempSet.get(), mpDrawView->GetModel() );
+
rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_GRADIENT ) );
- rPageProperties.PutItem( aGradient );
+ rPageProperties.PutItemSet( *pTempSet );
}
else
{
@@ -1820,8 +1826,8 @@ void DrawViewShell::SetPageProperties (SfxRequest& rReq)
aMigrateSet.Put( aGradientItem );
SdrModel::MigrateItemSet( &aMigrateSet, pTempSet.get(), mpDrawView->GetModel() );
- rPageProperties.PutItemSet( *pTempSet );
rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_GRADIENT ) );
+ rPageProperties.PutItemSet( *pTempSet );
}
}
break;