[Spice-devel] [PATCH 07/14] Limit direct access to DisplayChannelClient

Pavel Grunt pgrunt at redhat.com
Thu May 12 20:23:00 UTC 2016


On Thu, 2016-05-12 at 14:35 -0500, Jonathon Jongsma wrote:
> On Thu, 2016-05-05 at 14:28 +0200, Pavel Grunt wrote:
> > Hi Jonathon,
> > 
> > there are some unrelated changes which should go in separate patch.
> > 
> > 
> 
> [snip]
> 
> > > diff --git a/server/dcc.h b/server/dcc.h
> > > index 509a6c6..a56c4e2 100644
> > > --- a/server/dcc.h
> > > +++ b/server/dcc.h
> > > @@ -18,11 +18,9 @@
> > >  #ifndef DCC_H_
> > >  # define DCC_H_
> > >  
> > > -#include "red-worker.h"
> > > +#include "image-cache.h"
> > >  #include "pixmap-cache.h"
> > > -#include "cache-item.h"
> > > -#include "dcc-encoders.h"
> > > -#include "stream.h"
> > > +#include "red-worker.h"
> > >  #include "display-limits.h"
> > >  
> > >  #define PALETTE_CACHE_HASH_SHIFT 8
> > > @@ -42,6 +40,12 @@
> > >  
> > >  #define MAX_PIPE_SIZE 50
> > >  
> > > +/* FIXME: remove */
> > > +typedef struct DisplayChannel DisplayChannel;
> > > +typedef struct Stream Stream;
> > > +typedef struct StreamAgent StreamAgent;
> > > +typedef struct GlzSharedDictionary GlzSharedDictionary;
> > > +
> > Duplicated typedefs
> 
> This is tricky. At the moment there are circular dependencies between display
> -channel.h and dcc.h, so some forward declarations were added here temporarily
> to avoid problems. As more of the implementation gets hidden in private
> structs,
> this becomes less of a problem and these hacks can be removed, but this one is
> a
> little tricky. I'm investigating ways to untangle this, but it's not totally
> straightforward. Is it causing build failures for you?

Not for me, I have recent gcc. But there are not so old commits
(e37f97a9f8b8e6dd2d209645f17d57482e98632f) fixing compilation issues due to
multiple typedefs. So my point is that it should be fixed - now? later?

Pavel

>  
> 
> Jonathon


More information about the Spice-devel mailing list