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

Jonathon Jongsma jjongsma at redhat.com
Thu May 12 20:25:41 UTC 2016


On Thu, 2016-05-12 at 22:23 +0200, Pavel Grunt wrote:
> 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?


Agreed that it should be fixed. I'm working on a fix right now that will apply
to the tip of the refactory branch. After I'm done, I'll try to rebase it back
to this point in the branch and see if it's extra effort.

Jonathon


More information about the Spice-devel mailing list