mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-29 17:07:15 +00:00
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>
This commit is contained in:
parent
d8f89125fb
commit
cf3ca136e6
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user