summaryrefslogtreecommitdiffstats
path: root/oox
diff options
context:
space:
mode:
Diffstat (limited to 'oox')
-rw-r--r--oox/source/drawingml/clrscheme.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/oox/source/drawingml/clrscheme.cxx b/oox/source/drawingml/clrscheme.cxx
index 2f8e93701e97..f32c1ac0e822 100644
--- a/oox/source/drawingml/clrscheme.cxx
+++ b/oox/source/drawingml/clrscheme.cxx
@@ -82,7 +82,11 @@ bool ClrScheme::getColor( sal_Int32 nSchemeClrToken, sal_Int32& rColor ) const
void ClrScheme::setColor( sal_Int32 nSchemeClrToken, sal_Int32 nColor )
{
- maClrScheme.push_back(std::pair<sal_Int32, sal_Int32>(nSchemeClrToken, nColor));
+ const auto aIter = std::find_if(maClrScheme.begin(), maClrScheme.end(), find_by_token(nSchemeClrToken) );
+ if ( aIter != maClrScheme.end() )
+ aIter->second = nColor;
+ else
+ maClrScheme.push_back(std::pair<sal_Int32, sal_Int32>(nSchemeClrToken, nColor));
}
bool ClrScheme::getColorByIndex(size_t nIndex, sal_Int32& rColor) const