From 2f334f50c59e37127fd5751c15457551f2ae64dd Mon Sep 17 00:00:00 2001 From: Michal Szczecinski Date: Thu, 29 Apr 2021 10:49:38 +0200 Subject: [PATCH] sw_engine: Added sanity checks. This commit fixes crash when update target surface is not created yet. --- src/lib/sw_engine/tvgSwRenderer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/sw_engine/tvgSwRenderer.cpp b/src/lib/sw_engine/tvgSwRenderer.cpp index de908c32..ca4a1f0e 100644 --- a/src/lib/sw_engine/tvgSwRenderer.cpp +++ b/src/lib/sw_engine/tvgSwRenderer.cpp @@ -328,6 +328,8 @@ bool SwRenderer::renderImage(RenderData data) bool SwRenderer::renderShape(RenderData data) { auto task = static_cast(data); + if (!task) return false; + task->done(); if (task->opacity == 0) return true; @@ -513,6 +515,7 @@ bool SwRenderer::dispose(RenderData data) void* SwRenderer::prepareCommon(SwTask* task, const RenderTransform* transform, uint32_t opacity, const Array& clips, RenderUpdateFlag flags) { + if (!surface) return task; if (flags == RenderUpdateFlag::None) return task; //Finish previous task if it has duplicated request.