[Spice-devel] [PATCH spice-gtk 2/2] build-sys: fix win32 build

Frediano Ziglio fziglio at redhat.com
Mon Jun 20 16:10:50 UTC 2016


> 
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
> 
> Commit 0fafbe3 broke the build on win32, because it accesses
> d->egl.enabled. Add a helper function and fix the build.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> Reported-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  src/spice-widget.c | 34 ++++++++++++++++++----------------
>  1 file changed, 18 insertions(+), 16 deletions(-)
> 
> diff --git a/src/spice-widget.c b/src/spice-widget.c
> index 4cfbcfa..c5353af 100644
> --- a/src/spice-widget.c
> +++ b/src/spice-widget.c
> @@ -231,17 +231,22 @@ static gint get_display_id(SpiceDisplay *display)
>      return d->channel_id;
>  }
>  
> +static bool egl_enabled(SpiceDisplayPrivate *d)
> +{
> +#ifndef G_OS_WIN32
> +    return d->egl.enabled;
> +#else
> +    return false;
> +#endif
> +}
> +
>  static void update_ready(SpiceDisplay *display)
>  {
>      SpiceDisplayPrivate *d = display->priv;
>      gboolean ready = FALSE;
>  
>      if (d->monitor_ready) {
> -#ifndef G_OS_WIN32
> -        ready = d->egl.enabled || d->mark != 0;
> -#else
> -        ready = d->mark != 0;
> -#endif
> +        ready = egl_enabled(d) || d->mark != 0;
>      }
>      /* If the 'resize-guest' property is set, the application expects
>      spice-gtk
>       * to manage the size and state of the displays, so update the 'enabled'
> @@ -309,7 +314,7 @@ void
> spice_display_widget_update_monitor_area(SpiceDisplay *display)
>      }
>  
>      /* If only one head on this monitor, update the whole area */
> -    if (monitors->len == 1 && !d->egl.enabled) {
> +    if (monitors->len == 1 && !egl_enabled(d)) {
>          update_area(display, 0, 0, c->width, c->height);
>      } else {
>          update_area(display, c->x, c->y, c->width, c->height);
> @@ -1192,7 +1197,7 @@ static void set_egl_enabled(SpiceDisplay *display, bool
> enabled)
>      SpiceDisplayPrivate *d = display->priv;
>      GtkWidget *area;
>  
> -    if (d->egl.enabled == enabled)
> +    if (egl_enabled(d) == enabled)
>          return;
>  
>  #ifdef GDK_WINDOWING_X11
> @@ -1225,7 +1230,7 @@ static gboolean draw_event(GtkWidget *widget, cairo_t
> *cr, gpointer data)
>      g_return_val_if_fail(d != NULL, false);
>  
>  #ifndef G_OS_WIN32
> -    if (d->egl.enabled &&
> +    if (egl_enabled(d) &&
>          g_str_equal(gtk_stack_get_visible_child_name(d->stack),
>          "draw-area")) {
>          spice_egl_update_display(display);
>          return false;
> @@ -1953,7 +1958,7 @@ static void size_allocate(GtkWidget *widget,
> GtkAllocation *conf, gpointer data)
>          d->wh = conf->height;
>          recalc_geometry(widget);
>  #ifndef G_OS_WIN32
> -        if (d->egl.enabled)
> +        if (egl_enabled(d))
>              spice_egl_resize_display(display, conf->width, conf->height);
>  #endif
>      }
> @@ -2314,7 +2319,7 @@ static void update_area(SpiceDisplay *display,
>      };
>  
>  #ifndef G_OS_WIN32
> -    if (d->egl.enabled) {
> +    if (egl_enabled(d)) {
>          const SpiceGlScanout *so =
>              spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display));
>          g_return_if_fail(so != NULL);
> @@ -2339,10 +2344,7 @@ static void update_area(SpiceDisplay *display,
>          return;
>      }
>  
> -#ifndef G_OS_WIN32
> -    if (!d->egl.enabled)
> -#endif
> -    {
> +    if (!egl_enabled(d)) {
>          spice_cairo_image_destroy(display);
>          if (gtk_widget_get_realized(GTK_WIDGET(display)))
>              update_image(display);
> @@ -2478,7 +2480,7 @@ static void cursor_set(SpiceCursorChannel *channel,
>          g_warn_if_reached();
>  
>  #ifndef G_OS_WIN32
> -    if (d->egl.enabled)
> +    if (egl_enabled(d))
>          spice_egl_cursor_set(display);
>  #endif
>      if (d->show_cursor) {
> @@ -2874,7 +2876,7 @@ GdkPixbuf *spice_display_get_pixbuf(SpiceDisplay
> *display)
>      g_return_val_if_fail(d->display != NULL, NULL);
>  
>  #ifndef G_OS_WIN32
> -    if (d->egl.enabled) {
> +    if (egl_enabled(d)) {
>          GdkPixbuf *tmp;
>  
>          data = g_malloc0(d->area.width * d->area.height * 4);

Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano


More information about the Spice-devel mailing list