sw_engine: Added sanity checks.
authorMichal Szczecinski <mihashco89@gmail.com>
Thu, 29 Apr 2021 08:49:38 +0000 (10:49 +0200)
committerHermet Park <chuneon.park@samsung.com>
Mon, 10 May 2021 04:54:36 +0000 (13:54 +0900)
This commit fixes crash when update target surface is not created yet.

src/lib/sw_engine/tvgSwRenderer.cpp

index de908c3297acf5dd9c922d64dd84b448c26b6aeb..ca4a1f0e7cc8c63d9258e5a17c91f04daacbef9e 100644 (file)
@@ -328,6 +328,8 @@ bool SwRenderer::renderImage(RenderData data)
 bool SwRenderer::renderShape(RenderData data)
 {
     auto task = static_cast<SwShapeTask*>(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<RenderData>& clips, RenderUpdateFlag flags)
 {
+    if (!surface) return task;
     if (flags == RenderUpdateFlag::None) return task;
 
     //Finish previous task if it has duplicated request.