pepper: Correctly manage view z-order
authorTaekyun Kim <tkq.kim@samsung.com>
Thu, 17 Sep 2015 08:19:54 +0000 (17:19 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Thu, 17 Sep 2015 08:19:54 +0000 (17:19 +0900)
Views are stored in top to bottom z-order in lists.

Change-Id: Icc16e8232c650b834ca715e5bc996b84d02dfb64

src/lib/pepper/output.c
src/lib/pepper/plane.c
src/lib/pepper/view.c

index 2f539e8..3107dab 100644 (file)
@@ -127,7 +127,7 @@ output_repaint(pepper_output_t *output)
             continue;
         }
 
-        pepper_list_insert(&output->view_list, &view->link);
+        pepper_list_insert(output->view_list.prev, &view->link);
     }
 
     output->backend->assign_planes(output->data, &output->view_list);
index 2029515..4a5e8b9 100644 (file)
@@ -15,7 +15,7 @@ pepper_plane_update(pepper_plane_t *plane, const pepper_list_t *view_list)
 
         if (entry->plane == plane)
         {
-            pepper_list_insert(&plane->entry_list, &entry->link);
+            pepper_list_insert(plane->entry_list.prev, &entry->link);
 
             /* Calculate view transform on output local coordinate space. */
             pepper_mat4_init_translate(&entry->base.transform, -output_x, -output_y, 0.0);
@@ -37,7 +37,7 @@ pepper_plane_accumulate_damage(pepper_plane_t *plane, pixman_region32_t *clip)
 
     pixman_region32_init(&plane_clip);
 
-    pepper_list_for_each_reverse(entry, &plane->entry_list, link)
+    pepper_list_for_each(entry, &plane->entry_list, link)
     {
         pepper_view_t *view = (pepper_view_t *)entry->base.view;
 
index eb106ef..99ae4a0 100644 (file)
@@ -260,7 +260,7 @@ view_init(pepper_view_t *view, pepper_compositor_t *compositor)
     view->surface_link.item = view;
 
     view->compositor = compositor;
-    pepper_list_insert(compositor->view_list.prev, &view->compositor_link);
+    pepper_list_insert(&compositor->view_list, &view->compositor_link);
 
     pepper_list_init(&view->children_list);