diff --git a/uwac/libuwac/uwac-display.c b/uwac/libuwac/uwac-display.c index 23e5ec913..8b1c06dc3 100644 --- a/uwac/libuwac/uwac-display.c +++ b/uwac/libuwac/uwac-display.c @@ -226,6 +226,10 @@ static void registry_handle_global(void* data, struct wl_registry* registry, uin d->xdg_base = wl_registry_bind(registry, id, &xdg_wm_base_interface, 1); xdg_wm_base_add_listener(d->xdg_base, &xdg_wm_base_listener, d); } + else if (strcmp(interface, "wp_viewporter") == 0) + { + d->viewporter = wl_registry_bind(registry, id, &wp_viewporter_interface, 1); + } else if (strcmp(interface, "zwp_keyboard_shortcuts_inhibit_manager_v1") == 0) { d->keyboard_inhibit_manager = @@ -562,6 +566,9 @@ UwacReturnCode UwacCloseDisplay(UwacDisplay** pdisplay) if (display->shm) wl_shm_destroy(display->shm); + if (display->viewporter) + wp_viewporter_destroy(display->viewporter); + if (display->subcompositor) wl_subcompositor_destroy(display->subcompositor); diff --git a/uwac/libuwac/uwac-priv.h b/uwac/libuwac/uwac-priv.h index 20cdd1f5e..ca16f88ee 100644 --- a/uwac/libuwac/uwac-priv.h +++ b/uwac/libuwac/uwac-priv.h @@ -31,6 +31,7 @@ #include "keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h" #include "xdg-decoration-unstable-v1-client-protocol.h" #include "server-decoration-client-protocol.h" +#include "viewporter-client-protocol.h" #ifdef BUILD_IVI #include "ivi-application-client-protocol.h" @@ -92,6 +93,7 @@ struct uwac_display struct wl_display* display; struct wl_registry* registry; struct wl_compositor* compositor; + struct wp_viewporter* viewporter; struct wl_subcompositor* subcompositor; struct wl_shell* shell; struct xdg_toplevel* xdg_toplevel;