[Spice-devel] [spice-server 5/8] Use QXLInstance instead of QXLState in red_qxl_*

Frediano Ziglio fziglio at redhat.com
Thu Mar 17 16:27:50 UTC 2016


> 
> On Tue, Mar 15, 2016 at 05:25:09PM -0400, Frediano Ziglio wrote:
> > > 
> > > This seems to make more sense this way, QXLInstance is the 'main' object
> > > with QXLState being its private data. External users then use QXLInstance
> > > rather than passing a pointer to the private data to red-qxl.h methods.
> > > ---
> > >  server/dcc-send.c        |   4 +-
> > >  server/display-channel.c |   2 +-
> > >  server/red-qxl.c         | 123
> > >  ++++++++++++++++++++++++-----------------------
> > >  server/red-qxl.h         |  36 +++++++-------
> > >  server/red-worker.c      |   4 +-
> > >  server/reds-private.h    |   2 +-
> > >  server/reds.c            |  87 +++++++++++++++++----------------
> > >  7 files changed, 132 insertions(+), 126 deletions(-)
> > > 
> > > diff --git a/server/dcc-send.c b/server/dcc-send.c
> > > index 16c5098..a1f9214 100644
> > > --- a/server/dcc-send.c
> > > +++ b/server/dcc-send.c
> > > @@ -2307,12 +2307,12 @@ static void marshall_gl_scanout(RedChannelClient
> > > *rcc,
> > >      DisplayChannel *display_channel = DCC_TO_DC(dcc);
> > >      QXLInstance* qxl = display_channel->common.qxl;
> > >  
> > > -    SpiceMsgDisplayGlScanoutUnix *so = red_qxl_get_gl_scanout(qxl->st);
> > > +    SpiceMsgDisplayGlScanoutUnix *so = red_qxl_get_gl_scanout(qxl);
> > >      if (so != NULL) {
> > >          red_channel_client_init_send_data(rcc,
> > >          SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX, NULL);
> > >          spice_marshall_msg_display_gl_scanout_unix(m, so);
> > >      }
> > > -    red_qxl_put_gl_scanout(qxl->st, so);
> > > +    red_qxl_put_gl_scanout(qxl, so);
> > >  }
> > >  
> > >  static void marshall_gl_draw(RedChannelClient *rcc,
> > > diff --git a/server/display-channel.c b/server/display-channel.c
> > > index ff9aeac..f5f3527 100644
> > > --- a/server/display-channel.c
> > > +++ b/server/display-channel.c
> > > @@ -2163,7 +2163,7 @@ static void set_gl_draw_async_count(DisplayChannel
> > > *display, int num)
> > >      display->gl_draw_async_count = num;
> > >  
> > >      if (num == 0) {
> > > -        red_qxl_gl_draw_async_complete(qxl->st);
> > > +        red_qxl_gl_draw_async_complete(qxl);
> > >      }
> > >  }
> > >  
> > > diff --git a/server/red-qxl.c b/server/red-qxl.c
> > > index 408159d..1550ec8 100644
> > > --- a/server/red-qxl.c
> > > +++ b/server/red-qxl.c
> > > @@ -63,10 +63,10 @@ struct QXLState {
> > >      struct AsyncCommand *gl_draw_async;
> > >  };
> > >  
> > > -static int red_qxl_check_qxl_version(QXLState *rq, int major, int minor)
> > > +int red_qxl_check_qxl_version(QXLInstance *qxl, int major, int minor)
> > >  {
> > 
> > This change should go in 8/8.
> 
> The s/static// part of it, yes, small rebase failure. I'll send a v2
> with this changed.
> 
> Christophe
> 

Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano


More information about the Spice-devel mailing list