tdf#125449 Fix custom gradient fill settings being lost

Change-Id: Ia2377274e0fc9da5873bf55735af25ed6ae3d65c
Reviewed-on: https://gerrit.libreoffice.org/82393
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 53c474633c4e658f096669fb0225d751a5701aaf)
Reviewed-on: https://gerrit.libreoffice.org/83186
Reviewed-by: Xisco FaulĂ­ <xiscofauli@libreoffice.org>
(cherry picked from commit 5979fc4a3fa5713b8df49ba624445ce9ed4ccace)
Reviewed-on: https://gerrit.libreoffice.org/83287
diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx
index bf437d9..9dfca896 100644
--- a/cui/source/tabpages/tpgradnt.cxx
+++ b/cui/source/tabpages/tpgradnt.cxx
@@ -202,11 +202,11 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet )
    {
        pXGradient.reset(new XGradient( m_pGradientList->GetGradient( static_cast<sal_uInt16>(nPos) )->GetGradient() ));
        aString = m_xGradientLB->GetItemText( m_xGradientLB->GetSelectedItemId() );
        rSet->Put( XFillGradientItem( aString, *pXGradient ) );
    }
    else
    // gradient was passed (unidentified)
    {
        aString = "gradient";
        pXGradient.reset(new XGradient( m_xLbColorFrom->GetSelectEntryColor(),
                    m_xLbColorTo->GetSelectEntryColor(),
                    static_cast<css::awt::GradientStyle>(m_xLbGradientType->get_active()),
@@ -217,6 +217,7 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet )
                    static_cast<sal_uInt16>(m_xMtrColorFrom->get_value(FieldUnit::NONE)),
                    static_cast<sal_uInt16>(m_xMtrColorTo->get_value(FieldUnit::NONE)),
                    static_cast<sal_uInt16>(m_xMtrIncrement->get_value()) ));
        rSet->Put( XFillGradientItem( OUString(), *pXGradient ) );
    }

    sal_uInt16 nValue = 0;
@@ -225,7 +226,6 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet )

    assert( pXGradient && "XGradient could not be created" );
    rSet->Put( XFillStyleItem( drawing::FillStyle_GRADIENT ) );
    rSet->Put( XFillGradientItem( aString, *pXGradient ) );
    rSet->Put( XGradientStepCountItem( nValue ) );
    return true;
}