> > From: Jonathon Jongsma <jjongsma@xxxxxxxxxx> > > Removing more global variables > --- > server/red-dispatcher.c | 4 ++-- > server/red-worker.c | 3 ++- > server/reds-private.h | 1 + > server/reds.c | 14 +++++++------- > server/reds.h | 1 - > 5 files changed, 12 insertions(+), 11 deletions(-) > > diff --git a/server/red-dispatcher.c b/server/red-dispatcher.c > index 5bc2d87..ac2cc3d 100644 > --- a/server/red-dispatcher.c > +++ b/server/red-dispatcher.c > @@ -707,7 +707,7 @@ static inline int calc_compression_level(void) > spice_return_val_if_fail(reds_get_streaming_video(reds) != > SPICE_STREAM_VIDEO_INVALID, -1); > > if ((reds_get_streaming_video(reds) != SPICE_STREAM_VIDEO_OFF) || > - (image_compression != SPICE_IMAGE_COMPRESSION_QUIC)) { > + (spice_server_get_image_compression(reds) != > SPICE_IMAGE_COMPRESSION_QUIC)) { > return 0; > } else { > return 1; > @@ -722,7 +722,7 @@ void red_dispatcher_on_ic_change(void) > > while (now) { > now->qxl->st->qif->set_compression_level(now->qxl, > compression_level); > - payload.image_compression = image_compression; > + payload.image_compression = > spice_server_get_image_compression(reds); > dispatcher_send_message(&now->dispatcher, > RED_WORKER_MESSAGE_SET_COMPRESSION, > &payload); > diff --git a/server/red-worker.c b/server/red-worker.c > index dbc57d6..dae5e6b 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -1505,7 +1505,8 @@ RedWorker* red_worker_new(QXLInstance *qxl, > RedDispatcher *red_dispatcher) > if (worker->record_fd) { > dispatcher_register_universal_handler(dispatcher, > worker_dispatcher_record); > } > - worker->image_compression = image_compression; > + > + worker->image_compression = spice_server_get_image_compression(reds); > worker->jpeg_state = jpeg_state; > worker->zlib_glz_state = zlib_glz_state; > worker->driver_cap_monitors_config = 0; > diff --git a/server/reds-private.h b/server/reds-private.h > index 6a1a11c..7b8159f 100644 > --- a/server/reds-private.h > +++ b/server/reds-private.h > @@ -218,6 +218,7 @@ struct RedsState { > > int ticketing_enabled; > uint32_t streaming_video; > + SpiceImageCompression image_compression; > }; > > #endif > diff --git a/server/reds.c b/server/reds.c > index 1488522..c6ffd56 100644 > --- a/server/reds.c > +++ b/server/reds.c > @@ -145,7 +145,6 @@ static SpiceCoreInterfaceInternal core_interface_adapter > = { > > static pthread_mutex_t *lock_cs; > static long *lock_count; > -SpiceImageCompression image_compression = SPICE_IMAGE_COMPRESSION_AUTO_GLZ; > spice_wan_compression_t jpeg_state = SPICE_WAN_COMPRESSION_AUTO; > spice_wan_compression_t zlib_glz_state = SPICE_WAN_COMPRESSION_AUTO; > int agent_mouse = TRUE; > @@ -2769,12 +2768,12 @@ static inline void on_activating_ticketing(RedsState > *reds) > } > } > > -static void set_image_compression(SpiceImageCompression val) > +static void reds_set_image_compression(RedsState *reds, > SpiceImageCompression val) > { > - if (val == image_compression) { > + if (val == reds->image_compression) { > return; > } > - image_compression = val; > + reds->image_compression = val; > red_dispatcher_on_ic_change(); > } > > @@ -3435,6 +3434,7 @@ SPICE_GNUC_VISIBLE SpiceServer *spice_server_new(void) > memset(reds->spice_uuid, 0, sizeof(reds->spice_uuid)); > reds->ticketing_enabled = TRUE; /* ticketing enabled by default */ > reds->streaming_video = SPICE_STREAM_VIDEO_FILTER; > + reds->image_compression = SPICE_IMAGE_COMPRESSION_AUTO_GLZ; > return reds; > } > > @@ -3673,18 +3673,18 @@ SPICE_GNUC_VISIBLE int > spice_server_set_image_compression(SpiceServer *s, > if (comp == SPICE_IMAGE_COMPRESSION_LZ4) { > spice_warning("LZ4 compression not supported, falling back to auto > GLZ"); > comp = SPICE_IMAGE_COMPRESSION_AUTO_GLZ; > - set_image_compression(comp); > + reds_set_image_compression(s, comp); > return -1; > } > #endif > - set_image_compression(comp); > + reds_set_image_compression(s, comp); > return 0; > } > > SPICE_GNUC_VISIBLE SpiceImageCompression > spice_server_get_image_compression(SpiceServer *s) > { > spice_assert(reds == s); > - return image_compression; > + return s->image_compression; > } > > SPICE_GNUC_VISIBLE int spice_server_set_jpeg_compression(SpiceServer *s, > spice_wan_compression_t comp) > diff --git a/server/reds.h b/server/reds.h > index fcf1089..5c8a8a5 100644 > --- a/server/reds.h > +++ b/server/reds.h > @@ -73,7 +73,6 @@ enum { > }; > > extern struct SpiceCoreInterfaceInternal *core; > -extern SpiceImageCompression image_compression; > extern spice_wan_compression_t jpeg_state; > extern spice_wan_compression_t zlib_glz_state; > Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx> Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel