Re: [Spice-devel] [spice] Use display_channel_surface_has_canvas() instead of free coding it

2019-03-21 Thread Frediano Ziglio
> 
> Signed-off-by: Francois Gouget 
> ---
>  server/dcc.c |  2 +-
>  server/display-channel.c | 16 
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/server/dcc.c b/server/dcc.c
> index ae7b4380f..a05b6e59e 100644
> --- a/server/dcc.c
> +++ b/server/dcc.c
> @@ -579,7 +579,7 @@ void dcc_start(DisplayChannelClient *dcc)
>  return;
>  
>  red_channel_client_ack_zero_messages_window(rcc);
> -if (display->priv->surfaces[0].context.canvas) {
> +if (display_channel_surface_has_canvas(display, 0)) {
>  display_channel_current_flush(display, 0);
>  red_channel_client_pipe_add_type(rcc,
>  RED_PIPE_ITEM_TYPE_INVAL_PALETTE_CACHE);
>  dcc_create_surface(dcc, 0);
> diff --git a/server/display-channel.c b/server/display-channel.c
> index e179abfd3..cf12e99bf 100644
> --- a/server/display-channel.c
> +++ b/server/display-channel.c
> @@ -108,7 +108,7 @@ display_channel_finalize(GObject *object)
>  spice_assert(ring_is_empty(>priv->streams));
>  
>  for (count = 0; count < NUM_SURFACES; ++count) {
> -spice_assert(self->priv->surfaces[count].context.canvas ==
> NULL);
> +spice_assert(!display_channel_surface_has_canvas(self, count));
>  }
>  }
>  
> @@ -1498,7 +1498,7 @@ void display_channel_flush_all_surfaces(DisplayChannel
> *display)
>  int x;
>  
>  for (x = 0; x < NUM_SURFACES; ++x) {
> -if (display->priv->surfaces[x].context.canvas) {
> +if (display_channel_surface_has_canvas(display, x)) {
>  display_channel_current_flush(display, x);
>  }
>  }
> @@ -2072,7 +2072,7 @@ void
> display_channel_destroy_surface_wait(DisplayChannel *display, uint32_t surf
>  {
>  if (!display_channel_validate_surface(display, surface_id))
>  return;
> -if (!display->priv->surfaces[surface_id].context.canvas)
> +if (!display_channel_surface_has_canvas(display, surface_id))
>  return;
>  
>  draw_depend_on_me(display, surface_id);
> @@ -2092,12 +2092,12 @@ void display_channel_destroy_surfaces(DisplayChannel
> *display)
>  spice_debug("trace");
>  //to handle better
>  for (i = 0; i < NUM_SURFACES; ++i) {
> -if (display->priv->surfaces[i].context.canvas) {
> +if (display_channel_surface_has_canvas(display, i)) {
>  display_channel_destroy_surface_wait(display, i);
> -if (display->priv->surfaces[i].context.canvas) {
> +if (display_channel_surface_has_canvas(display, i)) {
>  display_channel_surface_unref(display, i);
>  }
> -spice_assert(!display->priv->surfaces[i].context.canvas);
> +spice_assert(!display_channel_surface_has_canvas(display, i));
>  }
>  }
>  spice_warn_if_fail(ring_is_empty(>priv->streams));
> @@ -2424,7 +2424,7 @@ gboolean
> display_channel_validate_surface(DisplayChannel *display, uint32_t surf
>  spice_warning("invalid surface_id %u", surface_id);
>  return FALSE;
>  }
> -if (!display->priv->surfaces[surface_id].context.canvas) {
> +if (!display_channel_surface_has_canvas(display, surface_id)) {
>  spice_warning("canvas address is %p for %d (and is NULL)",
> &(display->priv->surfaces[surface_id].context.canvas),
> surface_id);
>  spice_warning("failed on %d", surface_id);
> @@ -2462,7 +2462,7 @@ void
> display_channel_set_monitors_config_to_primary(DisplayChannel *display)
>  QXLHead head = { 0, };
>  uint16_t old_max = 1;
>  
> -spice_return_if_fail(display->priv->surfaces[0].context.canvas);
> +spice_return_if_fail(display_channel_surface_has_canvas(display, 0));
>  
>  if (display->priv->monitors_config) {
>  old_max = display->priv->monitors_config->max_allowed;

My paranoia level is saying that this function should be inlined, on the other
hand is also used in red-worker.c where can't be inlined.

Frediano
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Spice-devel] [spice] Use display_channel_surface_has_canvas() instead of free coding it

2019-03-21 Thread Francois Gouget
Signed-off-by: Francois Gouget 
---
 server/dcc.c |  2 +-
 server/display-channel.c | 16 
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/server/dcc.c b/server/dcc.c
index ae7b4380f..a05b6e59e 100644
--- a/server/dcc.c
+++ b/server/dcc.c
@@ -579,7 +579,7 @@ void dcc_start(DisplayChannelClient *dcc)
 return;
 
 red_channel_client_ack_zero_messages_window(rcc);
-if (display->priv->surfaces[0].context.canvas) {
+if (display_channel_surface_has_canvas(display, 0)) {
 display_channel_current_flush(display, 0);
 red_channel_client_pipe_add_type(rcc, 
RED_PIPE_ITEM_TYPE_INVAL_PALETTE_CACHE);
 dcc_create_surface(dcc, 0);
diff --git a/server/display-channel.c b/server/display-channel.c
index e179abfd3..cf12e99bf 100644
--- a/server/display-channel.c
+++ b/server/display-channel.c
@@ -108,7 +108,7 @@ display_channel_finalize(GObject *object)
 spice_assert(ring_is_empty(>priv->streams));
 
 for (count = 0; count < NUM_SURFACES; ++count) {
-spice_assert(self->priv->surfaces[count].context.canvas == NULL);
+spice_assert(!display_channel_surface_has_canvas(self, count));
 }
 }
 
@@ -1498,7 +1498,7 @@ void display_channel_flush_all_surfaces(DisplayChannel 
*display)
 int x;
 
 for (x = 0; x < NUM_SURFACES; ++x) {
-if (display->priv->surfaces[x].context.canvas) {
+if (display_channel_surface_has_canvas(display, x)) {
 display_channel_current_flush(display, x);
 }
 }
@@ -2072,7 +2072,7 @@ void display_channel_destroy_surface_wait(DisplayChannel 
*display, uint32_t surf
 {
 if (!display_channel_validate_surface(display, surface_id))
 return;
-if (!display->priv->surfaces[surface_id].context.canvas)
+if (!display_channel_surface_has_canvas(display, surface_id))
 return;
 
 draw_depend_on_me(display, surface_id);
@@ -2092,12 +2092,12 @@ void display_channel_destroy_surfaces(DisplayChannel 
*display)
 spice_debug("trace");
 //to handle better
 for (i = 0; i < NUM_SURFACES; ++i) {
-if (display->priv->surfaces[i].context.canvas) {
+if (display_channel_surface_has_canvas(display, i)) {
 display_channel_destroy_surface_wait(display, i);
-if (display->priv->surfaces[i].context.canvas) {
+if (display_channel_surface_has_canvas(display, i)) {
 display_channel_surface_unref(display, i);
 }
-spice_assert(!display->priv->surfaces[i].context.canvas);
+spice_assert(!display_channel_surface_has_canvas(display, i));
 }
 }
 spice_warn_if_fail(ring_is_empty(>priv->streams));
@@ -2424,7 +2424,7 @@ gboolean display_channel_validate_surface(DisplayChannel 
*display, uint32_t surf
 spice_warning("invalid surface_id %u", surface_id);
 return FALSE;
 }
-if (!display->priv->surfaces[surface_id].context.canvas) {
+if (!display_channel_surface_has_canvas(display, surface_id)) {
 spice_warning("canvas address is %p for %d (and is NULL)",
&(display->priv->surfaces[surface_id].context.canvas), 
surface_id);
 spice_warning("failed on %d", surface_id);
@@ -2462,7 +2462,7 @@ void 
display_channel_set_monitors_config_to_primary(DisplayChannel *display)
 QXLHead head = { 0, };
 uint16_t old_max = 1;
 
-spice_return_if_fail(display->priv->surfaces[0].context.canvas);
+spice_return_if_fail(display_channel_surface_has_canvas(display, 0));
 
 if (display->priv->monitors_config) {
 old_max = display->priv->monitors_config->max_allowed;
-- 
2.20.1

___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel