summaryrefslogtreecommitdiff
path: root/oox/source
diff options
context:
space:
mode:
authorAron Budea <aron.budea@collabora.com>2017-11-03 02:08:00 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-12-20 01:12:05 +0100
commit6bf0a1c61ef7b0df2c5c116d6a0f05ec6565d262 (patch)
treea9c0f987e1306ef756ec6abc6f1e96ae41f900ff /oox/source
parente68184f712b151c03c2282bacd662ae103f3d3f2 (diff)
tdf#105517: overwrite existing scheme colors in vector
Theme overrides stopped working once ClrScheme::maClrScheme was changed to vector, and colors were always appended to it. Regression from f3121049828596b369e3ea844355d61666e49795. Change-Id: Iae850dcabf57b12d8a564e84acf38d9988cfe963 Reviewed-on: https://gerrit.libreoffice.org/44242 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit 021081823aeebcfa395662d0c04535a243977c2e) Reviewed-on: https://gerrit.libreoffice.org/46828
Diffstat (limited to 'oox/source')
-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 7a99f3685a07..0c6517abfbc3 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.emplace_back(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.emplace_back(nSchemeClrToken, nColor);
}
bool ClrScheme::getColorByIndex(size_t nIndex, sal_Int32& rColor) const