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

Jonathon Jongsma jjongsma at redhat.com
Thu May 12 19:35:18 UTC 2016


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? 

Jonathon


More information about the Spice-devel mailing list