[ https://issues.apache.org/jira/browse/GUACAMOLE-1918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Jumper reassigned GUACAMOLE-1918: -------------------------------------- Assignee: Mike Jumper > Multitouch attribute not correctly synced for guac_common_surface > ----------------------------------------------------------------- > > Key: GUACAMOLE-1918 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1918 > Project: Guacamole > Issue Type: Bug > Components: guacamole-server > Reporter: Mike Jumper > Assignee: Mike Jumper > Priority: Minor > > The {{guac_common_surface_dup()}} function currently contains the following > code for syncing the multitouch support attribute for a layer: > {code:none} > /* Synchronize layer-specific properties if applicable */ > if (surface->layer->index > 0) { > /* Synchronize opacity */ > guac_protocol_send_shade(socket, surface->layer, surface->opacity); > /* Synchronize location and hierarchy */ > guac_protocol_send_move(socket, surface->layer, > surface->parent, surface->x, surface->y, surface->z); > /* Synchronize multi-touch support level */ > guac_protocol_send_set_int(surface->socket, surface->layer, > GUAC_PROTOCOL_LAYER_PARAMETER_MULTI_TOUCH, > surface->touches); > } > {code} > This is incorrect because: > * The multitouch attribute applies only to the default layer (layer 0), but > this {{if}} ensures that's exactly the only layer this function _won't_ send > that attribute for. > * The wrong {{guac_socket}} is referenced (it should be sent to the socket > supplied to the {{guac_common_surface_dup()}} call, not the surface's socket. > Depending on timing of any call to {{guac_common_surface_set_multitouch()}}, > this can result in multitouch support not having any effect. > Instead, the multitouch attribute should be sent for only the default layer > and to the correct socket. -- This message was sent by Atlassian Jira (v8.20.10#820010)