[Libreoffice-commits] core.git: vcl/skia

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Fri Jan 31 12:21:48 UTC 2020


 vcl/skia/gdiimpl.cxx |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit 62640556cca53ffa160456441db38899d6f885d5
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Fri Jan 31 11:47:08 2020 +0100
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Fri Jan 31 13:21:14 2020 +0100

    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 at collabora.com>

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()
 {


More information about the Libreoffice-commits mailing list