From 93652645f2fbd65c5b01cf32616d2dd1cbcd7af3 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 15 Nov 2017 16:33:16 +0000 Subject: Added XDG compatibility to ivi-shell Backported M.Teyfel patch from wayland-devel mailing list: https://lists.freedesktop.org/archives/wayland-devel/2017-November/035700.html Upgrade wayland-ivi-extension to v2.0.2 but keep using 1.1x for now with PREFERRED_VERSION until HMI could use the new version. Added Emre Ucan simple-id-agent to review. Bug-AGL: SPEC-1096 Change-Id: I74c4ae0bf0bf822e27dcbb193dc9f7a13d3e270d Signed-off-by: Romain Forlot Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11991 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Nobuhiko Tanibata Reviewed-by: Tadao Tanikawa Reviewed-by: Jan-Simon Moeller --- ...dow-client-remove-ivi-application-support.patch | 130 +++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 meta-agl/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch (limited to 'meta-agl/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch') diff --git a/meta-agl/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch b/meta-agl/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch new file mode 100644 index 000000000..f3d2fe47f --- /dev/null +++ b/meta-agl/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch @@ -0,0 +1,130 @@ +index c37cd00b..f30ddbe9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -665,8 +665,6 @@ nodist_libtoytoolkit_la_SOURCES = \ + protocol/viewporter-client-protocol.h \ + protocol/xdg-shell-unstable-v6-protocol.c \ + protocol/xdg-shell-unstable-v6-client-protocol.h \ +- protocol/ivi-application-protocol.c \ +- protocol/ivi-application-client-protocol.h \ + protocol/pointer-constraints-unstable-v1-protocol.c \ + protocol/pointer-constraints-unstable-v1-client-protocol.h \ + protocol/relative-pointer-unstable-v1-protocol.c \ +diff --git a/clients/window.c b/clients/window.c +index 95796d46..aac43abd 100644 +--- a/clients/window.c ++++ b/clients/window.c +@@ -82,10 +82,6 @@ typedef void *EGLContext; + + #include "window.h" + +-#include +-#include "ivi-application-client-protocol.h" +-#define IVI_SURFACE_ID 9000 +- + #define ZWP_RELATIVE_POINTER_MANAGER_V1_VERSION 1 + #define ZWP_POINTER_CONSTRAINTS_V1_VERSION 1 + +@@ -107,7 +103,6 @@ struct display { + struct wl_data_device_manager *data_device_manager; + struct text_cursor_position *text_cursor_position; + struct zxdg_shell_v6 *xdg_shell; +- struct ivi_application *ivi_application; /* ivi style shell */ + struct zwp_relative_pointer_manager_v1 *relative_pointer_manager; + struct zwp_pointer_constraints_v1 *pointer_constraints; + EGLDisplay dpy; +@@ -269,8 +264,6 @@ struct window { + struct window *parent; + struct window *last_parent; + +- struct ivi_surface *ivi_surface; +- + struct window_frame *frame; + + /* struct surface::link, contains also main_surface */ +@@ -1441,19 +1434,6 @@ window_get_display(struct window *window) + return window->display; + } + +-static void +-handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, +- int32_t width, int32_t height) +-{ +- struct window *window = data; +- +- window_schedule_resize(window, width, height); +-} +- +-static const struct ivi_surface_listener ivi_surface_listener = { +- handle_ivi_surface_configure, +-}; +- + static void + surface_create_surface(struct surface *surface, uint32_t flags) + { +@@ -1604,9 +1584,6 @@ window_destroy(struct window *window) + if (window->xdg_surface) + zxdg_surface_v6_destroy(window->xdg_surface); + +- if (window->ivi_surface) +- ivi_surface_destroy(window->ivi_surface); +- + surface_destroy(window->main_surface); + + wl_list_remove(&window->link); +@@ -5200,7 +5177,7 @@ window_create_internal(struct display *display, int custom) + surface = surface_create(window); + window->main_surface = surface; + +- assert(custom || display->xdg_shell || display->ivi_application); ++ assert(custom || display->xdg_shell); + + window->custom = custom; + window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE; +@@ -5220,7 +5197,6 @@ struct window * + window_create(struct display *display) + { + struct window *window; +- uint32_t id_ivisurf; + + window = window_create_internal(display, 0); + +@@ -5243,16 +5219,6 @@ window_create(struct display *display) + window_inhibit_redraw(window); + + wl_surface_commit(window->main_surface->surface); +- } else if (display->ivi_application) { +- /* auto generation of ivi_id based on process id + basement of id */ +- id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); +- window->ivi_surface = +- ivi_application_surface_create(display->ivi_application, +- id_ivisurf, window->main_surface->surface); +- fail_on_null(window->ivi_surface, 0, __FILE__, __LINE__); +- +- ivi_surface_add_listener(window->ivi_surface, +- &ivi_surface_listener, window); + } + + return window; +@@ -6013,11 +5979,6 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t id, + wl_registry_bind(registry, id, + &wl_subcompositor_interface, 1); + } +- else if (strcmp(interface, "ivi_application") == 0) { +- d->ivi_application = +- wl_registry_bind(registry, id, +- &ivi_application_interface, 1); +- } + + if (d->global_handler) + d->global_handler(d, id, interface, version, d->user_data); +@@ -6316,9 +6277,6 @@ display_destroy(struct display *display) + if (display->xdg_shell) + zxdg_shell_v6_destroy(display->xdg_shell); + +- if (display->ivi_application) +- ivi_application_destroy(display->ivi_application); +- + if (display->shm) + wl_shm_destroy(display->shm); + -- cgit 1.2.3-korg