summaryrefslogtreecommitdiff
path: root/vcl/skia/x11
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-10-29 13:05:06 +0100
committerLuboš Luňák <l.lunak@collabora.com>2019-11-27 09:55:12 +0100
commitc9db77de2d7f9c9b12c4ec5490d56d69b472cde9 (patch)
tree9f1df8a125fb0a9aeca33257c66b77899f7b5666 /vcl/skia/x11
parent5ac9a62f3a354db80837bdd1c95b763989b303bb (diff)
more safe handling of destroying Skia surfaces/contexts
As the comment in SkiaSalGraphicsImpl::destroySurface() says, they may both refer to each other's data when being destroyed, so try to handle that. Change-Id: I44353ed9d1888f8e8d15d93cd2c66414adfd372b
Diffstat (limited to 'vcl/skia/x11')
-rw-r--r--vcl/skia/x11/gdiimpl.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/vcl/skia/x11/gdiimpl.cxx b/vcl/skia/x11/gdiimpl.cxx
index 72f3e65b5859..29119f092ac9 100644
--- a/vcl/skia/x11/gdiimpl.cxx
+++ b/vcl/skia/x11/gdiimpl.cxx
@@ -55,6 +55,7 @@ void X11SkiaSalGraphicsImpl::createSurface()
winInfo.fVisualInfo = const_cast<SalVisual*>(&mX11Parent.GetVisual());
winInfo.fWidth = GetWidth();
winInfo.fHeight = GetHeight();
+ destroySurface();
switch (renderMethodToUse())
{
case RenderRaster: