antognolli pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1cef77bfd784772539a395363b3aecbd3c2655d5
commit 1cef77bfd784772539a395363b3aecbd3c2655d5 Author: Rafael Antognolli <rafael.antogno...@intel.com> Date: Sat Aug 31 15:20:22 2013 -0300 ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland. --- src/lib/ecore_wayland/Ecore_Wayland.h | 2 ++ src/lib/ecore_wayland/ecore_wl.c | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h b/src/lib/ecore_wayland/Ecore_Wayland.h index 05ceb00..c9b3e1f 100644 --- a/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/src/lib/ecore_wayland/Ecore_Wayland.h @@ -12,6 +12,7 @@ # include <wayland-client.h> # include <wayland-cursor.h> # include <xkbcommon/xkbcommon.h> +# include <subsurface-client-protocol.h> # ifdef EAPI # undef EAPI @@ -101,6 +102,7 @@ struct _Ecore_Wl_Display struct wl_display *display; struct wl_registry *registry; struct wl_compositor *compositor; + struct wl_subcompositor *subcompositor; struct wl_shell *shell; struct wl_shell *desktop_shell; struct wl_shm *shm; diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c index acce728..acc5988 100644 --- a/src/lib/ecore_wayland/ecore_wl.c +++ b/src/lib/ecore_wayland/ecore_wl.c @@ -397,6 +397,8 @@ _ecore_wl_shutdown(Eina_Bool close) wl_data_device_manager_destroy(_ecore_wl_disp->wl.data_device_manager); if (_ecore_wl_disp->wl.compositor) wl_compositor_destroy(_ecore_wl_disp->wl.compositor); + if (_ecore_wl_disp->wl.subcompositor) + wl_compositor_destroy(_ecore_wl_disp->wl.subcompositor); if (_ecore_wl_disp->wl.display) { wl_registry_destroy(_ecore_wl_disp->wl.registry); @@ -515,6 +517,11 @@ _ecore_wl_cb_handle_global(void *data, struct wl_registry *registry, unsigned in ewd->wl.compositor = wl_registry_bind(registry, id, &wl_compositor_interface, 3); } + else if (!strcmp(interface, "wl_subcompositor")) + { + ewd->wl.subcompositor = + wl_registry_bind(registry, id, &wl_subcompositor_interface, 1); + } else if (!strcmp(interface, "wl_output")) _ecore_wl_output_add(ewd, id); else if (!strcmp(interface, "wl_seat")) --