video_shell: Update stack order of E_Video_Viewport_Source 52/316752/1
authorSeunghun Lee <shiin.lee@samsung.com>
Tue, 27 Aug 2024 07:52:24 +0000 (16:52 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 27 Aug 2024 23:09:37 +0000 (08:09 +0900)
Since E_Video_Viewport_Source is not the instance created with
wl_subsurface, there may be no chance to update its stack order unlike
E_Subsurface which should be updated when parent surface gets committed
according to specification.
Therefore, E_Video_Viewport_Source should be restacked manually.

Change-Id: I7f430ee79603831221c6a5d33612bb0166a41d6c

src/bin/server/e_video_shell.c

index d3d8531..76cf797 100644 (file)
@@ -1313,10 +1313,10 @@ _source_viewport_link(E_Video_Viewport_Source *source, E_Video_Viewport *viewpor
    source->viewport = viewport;
 
    e_comp_wl_subsurface_data_init(&source->base, ec, parent_ec, NULL);
-   if (source->base.parent)
+   if (parent_ec)
      {
-        source->base.parent->comp_data->sub.list = eina_list_append(source->base.parent->comp_data->sub.list, ec);
-        source->base.parent->comp_data->sub.list_changed = EINA_FALSE;
+        e_comp_wl_subsurface_order_commit(parent_ec);
+        e_comp_wl_subsurface_restack(parent_ec);
      }
 
    if (source->surface->stand_alone)