Do not check it after assigning to reds->config->image_compression, check the value as soon as possible. This prevent potential invalid settings. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/red-worker.c | 28 ---------------------------- server/reds.c | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/server/red-worker.c b/server/red-worker.c index d883f419..7382e24d 100644 --- a/server/red-worker.c +++ b/server/red-worker.c @@ -684,34 +684,6 @@ static void handle_dev_set_compression(void *opaque, void *payload) RedWorker *worker = opaque; SpiceImageCompression image_compression = msg->image_compression; - switch (image_compression) { - case SPICE_IMAGE_COMPRESSION_AUTO_LZ: - spice_debug("ic auto_lz"); - break; - case SPICE_IMAGE_COMPRESSION_AUTO_GLZ: - spice_debug("ic auto_glz"); - break; - case SPICE_IMAGE_COMPRESSION_QUIC: - spice_debug("ic quic"); - break; -#ifdef USE_LZ4 - case SPICE_IMAGE_COMPRESSION_LZ4: - spice_debug("ic lz4"); - break; -#endif - case SPICE_IMAGE_COMPRESSION_LZ: - spice_debug("ic lz"); - break; - case SPICE_IMAGE_COMPRESSION_GLZ: - spice_debug("ic glz"); - break; - case SPICE_IMAGE_COMPRESSION_OFF: - spice_debug("ic off"); - break; - default: - spice_warning("ic invalid"); - image_compression = worker->image_compression; - } worker->image_compression = image_compression; display_channel_compress_stats_print(worker->display_channel); diff --git a/server/reds.c b/server/reds.c index 14e5728b..28542bd0 100644 --- a/server/reds.c +++ b/server/reds.c @@ -3010,12 +3010,40 @@ static inline void on_activating_ticketing(RedsState *reds) } } -static void reds_config_set_image_compression(RedsState *reds, SpiceImageCompression val) +static void reds_config_set_image_compression(RedsState *reds, SpiceImageCompression image_compression) { - if (val == reds->config->image_compression) { + if (image_compression == reds->config->image_compression) { return; } - reds->config->image_compression = val; + switch (image_compression) { + case SPICE_IMAGE_COMPRESSION_AUTO_LZ: + spice_debug("ic auto_lz"); + break; + case SPICE_IMAGE_COMPRESSION_AUTO_GLZ: + spice_debug("ic auto_glz"); + break; + case SPICE_IMAGE_COMPRESSION_QUIC: + spice_debug("ic quic"); + break; +#ifdef USE_LZ4 + case SPICE_IMAGE_COMPRESSION_LZ4: + spice_debug("ic lz4"); + break; +#endif + case SPICE_IMAGE_COMPRESSION_LZ: + spice_debug("ic lz"); + break; + case SPICE_IMAGE_COMPRESSION_GLZ: + spice_debug("ic glz"); + break; + case SPICE_IMAGE_COMPRESSION_OFF: + spice_debug("ic off"); + break; + default: + spice_warning("ic invalid"); + return; + } + reds->config->image_compression = image_compression; reds_on_ic_change(reds); } -- 2.20.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel