Having a single QXL interface is not enough, there can be other (e.g. streaming) display channels that make the tablet unusable. Add a check for the number of display channels also being equal to 1. We still need the check for QXL interaces, because the tablet only works with QXL. Signed-off-by: Lukáš Hrázký <lhrazky@xxxxxxxxxx> --- server/reds.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/reds.c b/server/reds.c index 85043a88..4f890348 100644 --- a/server/reds.c +++ b/server/reds.c @@ -651,9 +651,20 @@ static void reds_update_mouse_mode(RedsState *reds) { int allowed = 0; int qxl_count = g_list_length(reds->qxl_instances); + int display_channel_count = 0; + RedChannel *channel; + + GLIST_FOREACH(reds->channels, RedChannel, channel) { + uint32_t this_type; + g_object_get(channel, "channel-type", &this_type, NULL); + if (this_type == SPICE_CHANNEL_DISPLAY) { + ++display_channel_count; + } + } if ((reds->config->agent_mouse && reds->vdagent) || - (inputs_channel_has_tablet(reds->inputs_channel) && qxl_count == 1)) { + (inputs_channel_has_tablet(reds->inputs_channel) && + qxl_count == 1 && display_channel_count == 1)) { allowed = reds->dispatcher_allows_client_mouse; } if (allowed == reds->is_client_mouse_allowed) { -- 2.19.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel