From 7994b62c6be0368a2b4dcd038de5f25556cb6842 Mon Sep 17 00:00:00 2001 From: Rafael Antognolli Date: Sat, 31 Aug 2013 15:20:22 -0300 Subject: [PATCH] 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 05ceb00daf..c9b3e1f6ca 100644 --- a/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/src/lib/ecore_wayland/Ecore_Wayland.h @@ -12,6 +12,7 @@ # include # include # include +# include # 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 acce7282fb..acc5988af9 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"))