[Spice-devel] [PATCH spice-server 10/10] RFC: Make code compile using RHEL 6

Jonathon Jongsma jjongsma at redhat.com
Wed Oct 19 20:59:36 UTC 2016


Personally I'd rather keep this sort of thing as a downstream patch. It
makes things less consistent. I'd like to be able to assume that if I
include main-channel-client.h, the MainChannelClient typedef will be
defined, for example.


On Mon, 2016-10-17 at 14:26 +0100, Frediano Ziglio wrote:
> Quite questionable patch.
> Mostly as come typedef are not defined in the place they
> naturally should be.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/main-channel-client.h | 5 +----
>  server/main-channel.h        | 1 -
>  server/red-channel-client.h  | 1 -
>  server/stream.h              | 6 ++----
>  4 files changed, 3 insertions(+), 10 deletions(-)
> 
> diff --git a/server/main-channel-client.h b/server/main-channel-
> client.h
> index 360c61e..fc7d9ce 100644
> --- a/server/main-channel-client.h
> +++ b/server/main-channel-client.h
> @@ -21,12 +21,10 @@
>  #include <common/messages.h>
>  
>  #include "red-channel-client.h"
> +#include "main-channel.h"
>  
>  G_BEGIN_DECLS
>  
> -/* FIXME: remove extra MainChannel typedef when possible */
> -typedef struct MainChannel MainChannel;
> -
>  #define TYPE_MAIN_CHANNEL_CLIENT main_channel_client_get_type()
>  
>  #define MAIN_CHANNEL_CLIENT(obj) \
> @@ -40,7 +38,6 @@ typedef struct MainChannel MainChannel;
>  #define MAIN_CHANNEL_CLIENT_GET_CLASS(obj) \
>      (G_TYPE_INSTANCE_GET_CLASS((obj), TYPE_MAIN_CHANNEL_CLIENT,
> MainChannelClientClass))
>  
> -typedef struct MainChannelClient MainChannelClient;
>  typedef struct MainChannelClientClass MainChannelClientClass;
>  typedef struct MainChannelClientPrivate MainChannelClientPrivate;
>  
> diff --git a/server/main-channel.h b/server/main-channel.h
> index e0858d0..2606ff4 100644
> --- a/server/main-channel.h
> +++ b/server/main-channel.h
> @@ -23,7 +23,6 @@
>  #include <common/marshaller.h>
>  
>  #include "red-channel.h"
> -#include "main-channel-client.h"
>  
>  #define MAIN_CHANNEL(channel) ((MainChannel*)(channel))
>  
> diff --git a/server/red-channel-client.h b/server/red-channel-
> client.h
> index c2c6407..cb49454 100644
> --- a/server/red-channel-client.h
> +++ b/server/red-channel-client.h
> @@ -49,7 +49,6 @@ G_BEGIN_DECLS
>  #define RED_CHANNEL_CLIENT_GET_CLASS(obj) \
>      (G_TYPE_INSTANCE_GET_CLASS((obj), RED_TYPE_CHANNEL_CLIENT,
> RedChannelClientClass))
>  
> -typedef struct RedChannelClient RedChannelClient;
>  typedef struct RedChannelClientClass RedChannelClientClass;
>  typedef struct RedChannelClientPrivate RedChannelClientPrivate;
>  
> diff --git a/server/stream.h b/server/stream.h
> index a415e43..447eae7 100644
> --- a/server/stream.h
> +++ b/server/stream.h
> @@ -42,8 +42,6 @@
>  #define RED_STREAM_DEFAULT_LOW_START_BIT_RATE (2.5 * 1024 * 1024) //
> 2.5Mbps
>  #define MAX_FPS 30
>  
> -typedef struct Stream Stream;
> -
>  typedef struct RedStreamActivateReportItem {
>      RedPipeItem pipe_item;
>      uint32_t stream_id;
> @@ -62,7 +60,7 @@ typedef struct StreamStats {
>  } StreamStats;
>  #endif
>  
> -typedef struct StreamAgent {
> +struct StreamAgent {
>      QRegion vis_region; /* the part of the surface area that is
> currently occupied by video
>                             fragments */
>      QRegion clip;       /* the current video clipping. It can be
> different from vis_region:
> @@ -86,7 +84,7 @@ typedef struct StreamAgent {
>  #ifdef STREAM_STATS
>      StreamStats stats;
>  #endif
> -} StreamAgent;
> +};
>  
>  typedef struct RedStreamClipItem {
>      RedPipeItem base;


More information about the Spice-devel mailing list