From cbb93546414d3842c866e417b85926813924fcc0 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 17 Jul 2019 10:10:04 +0200 Subject: [PATCH] Fix broken clipboard after file copy --- client/X11/xf_cliprdr.c | 2 -- winpr/libwinpr/clipboard/clipboard.c | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/client/X11/xf_cliprdr.c b/client/X11/xf_cliprdr.c index 8662977..60c7b85 100644 --- a/client/X11/xf_cliprdr.c +++ b/client/X11/xf_cliprdr.c @@ -1438,7 +1438,6 @@ static UINT xf_cliprdr_server_format_data_response(CliprdrClientContext* return CHANNEL_RC_OK; } - DstSize = 0; pDstData = (BYTE*) ClipboardGetData(clipboard->system, dstFormatId, &DstSize); if (!pDstData) @@ -1446,7 +1445,6 @@ static UINT xf_cliprdr_server_format_data_response(CliprdrClientContext* WLog_WARN(TAG, "failed to get clipboard data in format %s [source format %s]", ClipboardGetFormatName(clipboard->system, dstFormatId), ClipboardGetFormatName(clipboard->system, srcFormatId)); - return CHANNEL_RC_OK; } if (nullTerminated) diff --git a/winpr/libwinpr/clipboard/clipboard.c b/winpr/libwinpr/clipboard/clipboard.c index 044ef70..a851a1c 100644 --- a/winpr/libwinpr/clipboard/clipboard.c +++ b/winpr/libwinpr/clipboard/clipboard.c @@ -468,7 +468,8 @@ void* ClipboardGetData(wClipboard* clipboard, UINT32 formatId, UINT32* pSize) DstSize = SrcSize; pDstData = synthesizer->pfnSynthesize(clipboard, format->formatId, pSrcData, &DstSize); - *pSize = DstSize; + if (pDstData) + *pSize = DstSize; } return pDstData; -- 2.7.4