Instruct waltham-transmitter-plugin that it can destroy its own
surface representation when the weston_surface is also destroyed.
Bug-AGL: SPEC-3601, SPEC-3611
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie0e5409b21c043b8c98bebb4d77808227ee38aca
output->active = NULL;
}
+ if (surface->role == IVI_SURFACE_ROLE_REMOTE &&
+ output->type == OUTPUT_REMOTE)
+ ivi_destroy_waltham_destroy(surface);
+
/* check if there's a last 'remote' surface and insert a black
* surface view if there's no background set for that output
*/
void
agl_shell_desktop_advertise_application_id(struct ivi_compositor *ivi,
struct ivi_surface *surface);
+void
+ivi_destroy_waltham_destroy(struct ivi_surface *surface);
#endif
agl_shell_desktop_advertise_application_id(ivi, surface);
}
+void
+ivi_destroy_waltham_destroy(struct ivi_surface *surface)
+{
+ struct ivi_compositor *ivi = surface->ivi;
+ const struct weston_transmitter_api *api =
+ ivi->waltham_transmitter_api;
+
+ if (!api)
+ return;
+
+ if (surface->waltham_surface.transmitter_surface)
+ api->surface_destroy(surface->waltham_surface.transmitter_surface);
+}
+
static void
ivi_output_notify_waltham_plugin(struct ivi_surface *surface)
{