summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ivi-compositor.h9
-rw-r--r--src/shell.c3
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 87d8ce9..0422583 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