summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channel-display.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/channel-display.c b/src/channel-display.c
index 46e9829..9e42dd9 100644
--- a/src/channel-display.c
+++ b/src/channel-display.c
@@ -1081,20 +1081,21 @@ uint32_t stream_get_current_frame(display_stream *st, uint8_t **data)
return 0;
}
- if (spice_msg_in_type(st->msg_data) == SPICE_MSG_DISPLAY_STREAM_DATA) {
+ switch (spice_msg_in_type(st->msg_data)) {
+ case SPICE_MSG_DISPLAY_STREAM_DATA: {
SpiceMsgDisplayStreamData *op = spice_msg_in_parsed(st->msg_data);
-
*data = op->data;
return op->data_size;
- } else {
+ }
+ case SPICE_MSG_DISPLAY_STREAM_DATA_SIZED: {
SpiceMsgDisplayStreamDataSized *op = spice_msg_in_parsed(st->msg_data);
-
- g_return_val_if_fail(spice_msg_in_type(st->msg_data) ==
- SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, 0);
*data = op->data;
return op->data_size;
- }
-
+ }
+ default:
+ *data = NULL;
+ g_return_val_if_reached(0);
+ }
}
G_GNUC_INTERNAL