ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland.

This commit is contained in:
Rafael Antognolli 2013-08-31 15:20:22 -03:00
parent 0f96c92b64
commit 0046e5b40f
2 changed files with 9 additions and 0 deletions

View File

@ -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;

View File

@ -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"))