evas_vg_node: Move change flag value setting 55/206355/1
authorJunsuChoi <jsuya.choi@samsung.com>
Fri, 17 May 2019 01:38:32 +0000 (10:38 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Fri, 17 May 2019 01:45:23 +0000 (10:45 +0900)
Summary:
_node_change function is only executed
when the flag is none to prevent duplicate calls.
If CHANGE_MATRIX_FLAG is added to the flag in advance,
_node_change function does not operate normally.

Test Plan:
cd ./src/examples/evas
gcc -o evas_vg_simple evas-vg-simple.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl` -lm
./evas_vg_simple

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I84a5c78026158522ae7347ed701b9662c6df4517

src/lib/evas/canvas/efl_canvas_vg_node.c

index 77e4eaf..895706c 100644 (file)
@@ -60,8 +60,10 @@ _efl_canvas_vg_node_transformation_set(Eo *obj,
         pd->m = NULL;
      }
 
-   pd->flags |= EFL_GFX_CHANGE_FLAG_MATRIX;
+   /* NOTE: _node_change function is only executed
+            when pd->flags is EFL_GFX_CHANGE_FLAG_NONE to prevent duplicate calls.*/
    _node_change(obj, pd);
+   pd->flags |= EFL_GFX_CHANGE_FLAG_MATRIX;
 }
 
 const Eina_Matrix3 *