diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-01-31 11:47:08 +0100 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2020-01-31 13:21:14 +0100 |
commit | 62640556cca53ffa160456441db38899d6f885d5 (patch) | |
tree | 2d56935fc505c58f17dc66f480a19465531ab139 /vcl | |
parent | 56eb50de018ac806f92e2dd76c698d54edfe6122 (diff) |
fix uninitialized memory in Skia
SkRect is actually a struct without a ctor, so it's not initialized.
Change-Id: Icd8fe46230502a1f7aaf7c766a251b3d27070f66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87764
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/skia/gdiimpl.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 66086c9af82b..7ec10165f5d0 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -310,7 +310,7 @@ void SkiaSalGraphicsImpl::DeInit() { destroySurface(); } void SkiaSalGraphicsImpl::preDraw() { checkSurface(); - assert(mXorExtents.isEmpty()); // must be reset in postDraw() + assert(!mXorMode || mXorExtents.isEmpty()); // must be reset in postDraw() } void SkiaSalGraphicsImpl::postDraw() @@ -476,7 +476,12 @@ void SkiaSalGraphicsImpl::SetFillColor() { mFillColor = SALCOLOR_NONE; } void SkiaSalGraphicsImpl::SetFillColor(Color nColor) { mFillColor = nColor; } -void SkiaSalGraphicsImpl::SetXORMode(bool set, bool) { mXorMode = set; } +void SkiaSalGraphicsImpl::SetXORMode(bool set, bool) +{ + mXorMode = set; + if (mXorMode) + mXorExtents.setEmpty(); +} SkCanvas* SkiaSalGraphicsImpl::getXorCanvas() { |