[Tizen] Fix evas_map_direct_render_set issue 26/281026/1
authorWonsik Jung <sidein@samsung.com>
Wed, 7 Sep 2022 12:44:17 +0000 (21:44 +0900)
committerWonsik Jung <sidein@samsung.com>
Thu, 8 Sep 2022 03:03:39 +0000 (12:03 +0900)
When evas_map_direct_render_set() is called with new value,
direct rendering does not work with new value.
This patch is to fix that.

Change-Id: Iad36dab7f3cb3be1781eb09f9e6883bcdd9c19b0

src/lib/evas/canvas/evas_map.c

index 61d85e4..0ad54ed 100644 (file)
@@ -41,8 +41,9 @@ _evas_map_calc_map_geometry(Evas_Object *eo_obj)
 
                   p = obj->map->cur.map->points;
                   p2 = obj->map->prev.map->points;
-                  if (memcmp(p, p2, sizeof(Evas_Map_Point) *
-                             obj->map->prev.map->count) != 0)
+                  if ((memcmp(p, p2, sizeof(Evas_Map_Point) *
+                             obj->map->prev.map->count) != 0) ||
+                     (obj->map->prev.map->direct_render != obj->map->cur.map->direct_render))
                     ch = EINA_TRUE;
                   if (!ch)
                     {
@@ -572,7 +573,8 @@ evas_object_map_set(Evas_Object *eo_obj, const Evas_Map *map)
        (obj->map->cur.map->move_sync.enabled == map->move_sync.enabled) &&
        (obj->map->cur.map->move_sync.diff_x == map->move_sync.diff_x) &&
        (obj->map->cur.map->move_sync.diff_y == map->move_sync.diff_y) &&
-       (obj->map->cur.map->count == map->count))
+       (obj->map->cur.map->count == map->count) &&
+       (obj->map->cur.map->direct_render == map->direct_render))
      {
         const Evas_Map_Point *p1, *p2;
         p1 = obj->map->cur.map->points;