diff options
author | Jonathon Jongsma <jjongsma@redhat.com> | 2015-11-03 13:37:05 -0600 |
---|---|---|
committer | Frediano Ziglio <fziglio@redhat.com> | 2015-11-04 11:09:35 +0000 |
commit | cf3ca136e609421f182606d8e7eaaebe139d1d24 (patch) | |
tree | d67d891992c805de4c606a2073b9e3a03d33c4ee | |
parent | d8f89125fbcc61fd40517235cc85012076d87c51 (diff) | |
download | spice-cf3ca136e609421f182606d8e7eaaebe139d1d24.tar.gz spice-cf3ca136e609421f182606d8e7eaaebe139d1d24.tar.xz spice-cf3ca136e609421f182606d8e7eaaebe139d1d24.zip |
Palette cache: Use correct marshal function
In order to invalidate a single palette cache item, we were using
spice_marshall_msg_cursor_inval_one(), which is the marshal function
used to send an invalidation message for the Cursor channel's cache.
This didn't cause any problems because SPICE_MSG_CURSOR_INVAL_ONE and
SPICE_MSG_DISPLAY_INVAL_PALETTE have the same message ID and parameters,
but it's better to use the correct marshalling function.
Acked-by: Frediano Ziglio <fziglio@redhat.com>
-rw-r--r-- | server/red_worker.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/server/red_worker.c b/server/red_worker.c index 906b6ab0..f86f0178 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -7458,15 +7458,17 @@ static inline void marshall_qxl_drawable(RedChannelClient *rcc, red_lossy_marshall_qxl_drawable(display_channel->common.worker, rcc, m, dpi); } -static inline void red_marshall_inval(RedChannelClient *rcc, - SpiceMarshaller *base_marshaller, CacheItem *cach_item) +static inline void red_marshall_inval_palette(RedChannelClient *rcc, + SpiceMarshaller *base_marshaller, + CacheItem *cache_item) { SpiceMsgDisplayInvalOne inval_one; - red_channel_client_init_send_data(rcc, cach_item->inval_type, NULL); - inval_one.id = *(uint64_t *)&cach_item->id; + red_channel_client_init_send_data(rcc, cache_item->inval_type, NULL); + inval_one.id = *(uint64_t *)&cache_item->id; + + spice_marshall_msg_display_inval_palette(base_marshaller, &inval_one); - spice_marshall_msg_cursor_inval_one(base_marshaller, &inval_one); } static void display_channel_marshall_migrate_data_surfaces(DisplayChannelClient *dcc, @@ -7923,7 +7925,7 @@ static void display_channel_send_item(RedChannelClient *rcc, PipeItem *pipe_item break; } case PIPE_ITEM_TYPE_INVAL_ONE: - red_marshall_inval(rcc, m, (CacheItem *)pipe_item); + red_marshall_inval_palette(rcc, m, (CacheItem *)pipe_item); break; case PIPE_ITEM_TYPE_STREAM_CREATE: { StreamAgent *agent = SPICE_CONTAINEROF(pipe_item, StreamAgent, create_item); |