mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[client,common] lock clipboard on update
This commit is contained in:
@@ -2039,7 +2039,9 @@ static UINT xf_cliprdr_server_format_list(CliprdrClientContext* context,
|
||||
}
|
||||
}
|
||||
|
||||
ClipboardLock(clipboard->system);
|
||||
ret = cliprdr_file_context_notify_new_server_format_list(clipboard->file);
|
||||
ClipboardUnlock(clipboard->system);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
@@ -2685,7 +2687,9 @@ void xf_cliprdr_uninit(xfContext* xfc, CliprdrClientContext* cliprdr)
|
||||
|
||||
if (xfc->clipboard)
|
||||
{
|
||||
ClipboardLock(xfc->clipboard->system);
|
||||
cliprdr_file_context_uninit(xfc->clipboard->file, cliprdr);
|
||||
ClipboardUnlock(xfc->clipboard->system);
|
||||
xfc->clipboard->context = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -585,6 +585,7 @@ static UINT prepare_clip_data_entry_without_id(CliprdrFileContext* file_context)
|
||||
|
||||
UINT cliprdr_file_context_notify_new_server_format_list(CliprdrFileContext* file_context)
|
||||
{
|
||||
UINT rc = CHANNEL_RC_OK;
|
||||
WINPR_ASSERT(file_context);
|
||||
WINPR_ASSERT(file_context->context);
|
||||
|
||||
@@ -594,12 +595,11 @@ UINT cliprdr_file_context_notify_new_server_format_list(CliprdrFileContext* file
|
||||
clear_cdi_entries(file_context);
|
||||
|
||||
if (does_server_support_clipdata_locking(file_context))
|
||||
return prepare_clip_data_entry_with_id(file_context);
|
||||
rc = prepare_clip_data_entry_with_id(file_context);
|
||||
else
|
||||
return prepare_clip_data_entry_without_id(file_context);
|
||||
#else
|
||||
return CHANNEL_RC_OK;
|
||||
rc = prepare_clip_data_entry_without_id(file_context);
|
||||
#endif
|
||||
return rc;
|
||||
}
|
||||
|
||||
UINT cliprdr_file_context_notify_new_client_format_list(CliprdrFileContext* file_context)
|
||||
|
||||
Reference in New Issue
Block a user