diff options
-rw-r--r-- | src/ivi-compositor.h | 9 | ||||
-rw-r--r-- | src/shell.c | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ivi-compositor.h b/src/ivi-compositor.h index ff8e20d..3dd0c20 100644 --- a/src/ivi-compositor.h +++ b/src/ivi-compositor.h @@ -239,6 +239,14 @@ enum ivi_surface_flags { IVI_SURFACE_PROP_POSITION = (1 << 1), }; +/* the waltham surface is a pointer type as well and + * in order to avoid adding ifdef for waltham use a + * generic pointer, which will be only be valid when the + * surface is a remote out on a waltham type of output */ +struct ivi_surface_waltham { + void *transmitter_surface; +}; + struct ivi_surface { struct ivi_compositor *ivi; struct weston_desktop_surface *dsurface; @@ -266,6 +274,7 @@ struct ivi_surface { struct ivi_remote_surface remote; }; + struct ivi_surface_waltham waltham_surface; struct wl_listener listener_advertise_app; struct wl_signal signal_advertise_app; }; diff --git a/src/shell.c b/src/shell.c index 4a501af..612661f 100644 --- a/src/shell.c +++ b/src/shell.c @@ -159,7 +159,8 @@ ivi_output_notify_waltham_plugin(struct ivi_surface *surface) * wthp_ivi_app_id_surface_create() and is responsible for setting-up * the gstreamer pipeline as well. */ - api->surface_push_to_remote(weston_surface, app_id, trans_remote, NULL); + surface->waltham_surface.transmitter_surface = + api->surface_push_to_remote(weston_surface, app_id, trans_remote, NULL); } static void |