[channels,rdpei] add RDPINPUT_CONTACT_FLAG_UP

When iterating over the list of contacts add a RDPINPUT_CONTACT_FLAG_UP
contact to the list of events to send.
This commit is contained in:
Armin Novak
2026-01-27 15:59:06 +01:00
committed by akallabeth
parent d17dc23257
commit 0c87a5dd65

View File

@@ -1014,6 +1014,7 @@ UINT rdpei_send_frame(RdpeiClientContext* context, RDPINPUT_TOUCH_FRAME* frame)
*/
static UINT rdpei_add_contact(RdpeiClientContext* context, const RDPINPUT_CONTACT_DATA* contact)
{
UINT error = CHANNEL_RC_OK;
if (!context || !contact || !context->handle)
return ERROR_INTERNAL_ERROR;
@@ -1023,14 +1024,23 @@ static UINT rdpei_add_contact(RdpeiClientContext* context, const RDPINPUT_CONTAC
RDPINPUT_CONTACT_POINT* contactPoint = &rdpei->contactPoints[contact->contactId];
if (contactPoint->dirty && contactPoint->data.contactFlags != contact->contactFlags)
rdpei_add_frame(context);
{
const INT32 externalId = contactPoint->externalId;
error = rdpei_add_frame(context);
if (!contactPoint->active)
{
contactPoint->active = TRUE;
contactPoint->externalId = externalId;
contactPoint->contactId = contact->contactId;
}
}
contactPoint->data = *contact;
contactPoint->dirty = TRUE;
(void)SetEvent(rdpei->event);
LeaveCriticalSection(&rdpei->lock);
return CHANNEL_RC_OK;
return error;
}
static UINT rdpei_touch_process(RdpeiClientContext* context, INT32 externalId, UINT32 contactFlags,