Ector: Refer to visibility of Ector_Renderer when doing rle_update. 42/230642/1
authorJunsuChoi <jsuya.choi@samsung.com>
Mon, 13 Apr 2020 04:41:17 +0000 (13:41 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Mon, 13 Apr 2020 06:51:41 +0000 (15:51 +0900)
Summary:
An object with visibility false may not have a normal path or data.
It can cause invalid access or affect other ector renderers.
This is a patch to prevent them.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11689

Change-Id: Iac4a85be912076bd4eb6b36add07b988532112d6

src/lib/ector/software/ector_renderer_software_shape.c

index 0db1ea2a704e0673c78e92ab2f249c7a9aa584ae..d8d804db2233e2213961d4791dc6546cccce835a 100644 (file)
@@ -535,8 +535,8 @@ _need_update_rle(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
 {
    if (pd->task) return pd->task;
 
-   if (!_generate_stroke_data(pd) &&
-       !_generate_shape_data(pd))
+   if (!pd->base->visibility || (!_generate_stroke_data(pd) &&
+       !_generate_shape_data(pd)))
      return NULL;
 
    const Efl_Gfx_Path_Command *cmds;