X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fdesktop.c;h=d3c1d4e0be0143630dfc36c4765535511e4e792d;hb=18607e2245d1e9ccfdd19db894e4cfdb52def303;hp=c9293434efb3fc7ce68ae60148b902878dd5217b;hpb=a6ffcf30a926568e269b33b57f3740acfa7bb7f4;p=src%2Fagl-compositor.git diff --git a/src/desktop.c b/src/desktop.c index c929343..d3c1d4e 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -36,6 +36,20 @@ #include "agl-shell-desktop-server-protocol.h" +static void +ivi_layout_destroy_saved_outputs(struct ivi_compositor *ivi) +{ + struct ivi_output *output, *output_next; + + wl_list_for_each_safe(output, output_next, &ivi->saved_outputs, link) { + free(output->app_ids); + free(output->name); + + wl_list_remove(&output->link); + free(output); + } +} + static void desktop_advertise_app(struct wl_listener *listener, void *data) { @@ -318,7 +332,7 @@ desktop_surface_removed(struct weston_desktop_surface *dsurface, void *userdata) output->active->view->is_mapped = false; output->active->view->surface->is_mapped = false; - weston_layer_entry_remove(&output->active->view->layer_link); + weston_view_move_to_layer(output->active->view, NULL); output->active = NULL; } @@ -392,7 +406,7 @@ skip_output_asignment: static void desktop_committed(struct weston_desktop_surface *dsurface, - int32_t sx, int32_t sy, void *userdata) + struct weston_coord_surface buf_offset, void *userdata) { struct ivi_compositor *ivi = userdata; struct ivi_surface *surface = @@ -470,7 +484,7 @@ desktop_committed(struct weston_desktop_surface *dsurface, static void desktop_show_window_menu(struct weston_desktop_surface *dsurface, - struct weston_seat *seat, int32_t x, int32_t y, + struct weston_seat *seat, struct weston_coord_surface offset, void *userdata) { /* not supported */ @@ -522,13 +536,13 @@ desktop_minimized_requested(struct weston_desktop_surface *dsurface, static void desktop_set_xwayland_position(struct weston_desktop_surface *dsurface, - int32_t x, int32_t y, void *userdata) + struct weston_coord_global pos, void *userdata) { struct ivi_surface *ivisurf = weston_desktop_surface_get_user_data(dsurface); - ivisurf->xwayland.x = x; - ivisurf->xwayland.y = y; + ivisurf->xwayland.x = pos.c.x; + ivisurf->xwayland.y = pos.c.y; ivisurf->xwayland.is_set = true; } @@ -588,8 +602,8 @@ transform_handler(struct wl_listener *listener, void *data) if (!weston_view_is_mapped(ivisurf->view)) return; - x = ivisurf->view->geometry.x; - y = ivisurf->view->geometry.y; + x = ivisurf->view->geometry.pos_offset.x; + y = ivisurf->view->geometry.pos_offset.y; api->send_position(surface, x, y); #endif