diff options
author | Aron Budea <aron.budea@collabora.com> | 2017-11-03 02:08:00 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-12-20 00:07:03 +0100 |
commit | 021081823aeebcfa395662d0c04535a243977c2e (patch) | |
tree | b6e08286577e42a722e48a2839f99a74aeb6490b /oox | |
parent | 9e7caee0173c5ec2d8b5cfa6aedfd1c9674d442b (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>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/clrscheme.cxx | 6 |
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 |