[Spice-devel] [PATCH spice-gtk 5/5] widget: switch 'display' type to DisplayChannel*
marcandre.lureau at redhat.com
marcandre.lureau at redhat.com
Wed Jun 7 20:55:41 UTC 2017
From: Marc-André Lureau <marcandre.lureau at redhat.com>
This avoids the long casts. The Channel* type is less commonly used.
Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
src/spice-widget-egl.c | 2 +-
src/spice-widget-priv.h | 2 +-
src/spice-widget.c | 19 ++++++++++---------
3 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c
index f9c024c..7c21113 100644
--- a/src/spice-widget-egl.c
+++ b/src/spice-widget-egl.c
@@ -275,7 +275,7 @@ end:
d->egl.context_ready = TRUE;
- if (spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display)) != NULL) {
+ if (spice_display_get_gl_scanout(d->display) != NULL) {
DISPLAY_DEBUG(display, "scanout present during egl init, updating widget");
spice_display_widget_gl_scanout(display);
spice_display_widget_update_monitor_area(display);
diff --git a/src/spice-widget-priv.h b/src/spice-widget-priv.h
index 5b3216f..ea7ed8e 100644
--- a/src/spice-widget-priv.h
+++ b/src/spice-widget-priv.h
@@ -91,7 +91,7 @@ struct _SpiceDisplayPrivate {
SpiceSession *session;
SpiceGtkSession *gtk_session;
SpiceMainChannel *main;
- SpiceChannel *display;
+ SpiceDisplayChannel *display;
SpiceCursorChannel *cursor;
SpiceInputsChannel *inputs;
SpiceSmartcardChannel *smartcard;
diff --git a/src/spice-widget.c b/src/spice-widget.c
index c7c48f1..e1191ed 100644
--- a/src/spice-widget.c
+++ b/src/spice-widget.c
@@ -301,7 +301,8 @@ void spice_display_widget_update_monitor_area(SpiceDisplay *display)
if (c == NULL) {
DISPLAY_DEBUG(display, "update monitor: no monitor %d", d->monitor_id);
set_monitor_ready(display, false);
- if (spice_channel_test_capability(d->display, SPICE_DISPLAY_CAP_MONITORS_CONFIG)) {
+ if (spice_channel_test_capability(SPICE_CHANNEL(d->display),
+ SPICE_DISPLAY_CAP_MONITORS_CONFIG)) {
DISPLAY_DEBUG(display, "waiting until MonitorsConfig is received");
g_clear_pointer(&monitors, g_array_unref);
return;
@@ -586,7 +587,7 @@ gl_area_render(GtkGLArea *area, GdkGLContext *context, gpointer user_data)
spice_egl_update_display(display);
glFlush();
if (d->egl.call_draw_done) {
- spice_display_gl_draw_done(SPICE_DISPLAY_CHANNEL(d->display));
+ spice_display_gl_draw_done(d->display);
d->egl.call_draw_done = FALSE;
}
@@ -620,7 +621,7 @@ drawing_area_realize(GtkWidget *area, gpointer user_data)
SpiceDisplayPrivate *d = display->priv;
if (GDK_IS_X11_DISPLAY(gdk_display_get_default()) &&
- spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display))) {
+ spice_display_get_gl_scanout(d->display)) {
spice_display_widget_gl_scanout(display);
}
@@ -2505,7 +2506,7 @@ static void update_area(SpiceDisplay *display,
#if HAVE_EGL
if (egl_enabled(d)) {
const SpiceGlScanout *so =
- spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display));
+ spice_display_get_gl_scanout(d->display);
g_return_if_fail(so != NULL);
primary = (GdkRectangle) {
.width = so->width,
@@ -2555,7 +2556,7 @@ static void primary_create(SpiceChannel *channel, gint format,
spice_display_widget_update_monitor_area(display);
}
-static void primary_destroy(SpiceChannel *channel, gpointer data)
+static void primary_destroy(SpiceDisplayChannel *channel, gpointer data)
{
SpiceDisplay *display = SPICE_DISPLAY(data);
SpiceDisplayPrivate *d = display->priv;
@@ -2873,7 +2874,7 @@ void spice_display_widget_gl_scanout(SpiceDisplay *display)
if (d->egl.context_ready) {
const SpiceGlScanout *scanout;
- scanout = spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display));
+ scanout = spice_display_get_gl_scanout(d->display);
/* should only be called when the display has a scanout */
g_return_if_fail(scanout != NULL);
@@ -2895,7 +2896,7 @@ static void gl_draw(SpiceDisplay *display,
if (!d->egl.context_ready) {
DISPLAY_DEBUG(display, "Draw without GL context, skipping");
- spice_display_gl_draw_done(SPICE_DISPLAY_CHANNEL(d->display));
+ spice_display_gl_draw_done(d->display);
return;
}
@@ -2912,7 +2913,7 @@ static void gl_draw(SpiceDisplay *display,
#endif
{
spice_egl_update_display(display);
- spice_display_gl_draw_done(SPICE_DISPLAY_CHANNEL(d->display));
+ spice_display_gl_draw_done(d->display);
}
}
#endif
@@ -2936,7 +2937,7 @@ static void channel_new(SpiceSession *s, SpiceChannel *channel, gpointer data)
SpiceDisplayPrimary primary;
if (id != d->channel_id)
return;
- d->display = channel;
+ d->display = SPICE_DISPLAY_CHANNEL(channel);
spice_g_signal_connect_object(channel, "display-primary-create",
G_CALLBACK(primary_create), display, 0);
spice_g_signal_connect_object(channel, "display-primary-destroy",
--
2.13.0.91.g00982b8dd
More information about the Spice-devel
mailing list