Fix broken clipboard after file copy
authorArmin Novak <armin.novak@thincast.com>
Wed, 17 Jul 2019 08:10:04 +0000 (10:10 +0200)
committerArmin Novak <armin.novak@thincast.com>
Wed, 17 Jul 2019 13:13:50 +0000 (15:13 +0200)
client/X11/xf_cliprdr.c
winpr/libwinpr/clipboard/clipboard.c

index 8662977..60c7b85 100644 (file)
@@ -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)
index 044ef70..a851a1c 100644 (file)
@@ -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;