From 99d5b75c7d943270e93c5362ba1ecce0d99e20ed Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 23 Aug 2016 17:59:36 +0900 Subject: [PATCH] winex11: Don't disallow replacing unowned formats. Signed-off-by: Alexandre Julliard --- dlls/user32/tests/clipboard.c | 1 - dlls/winex11.drv/clipboard.c | 21 ++------------------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/dlls/user32/tests/clipboard.c b/dlls/user32/tests/clipboard.c index ddd8d1a0753..549a6252289 100644 --- a/dlls/user32/tests/clipboard.c +++ b/dlls/user32/tests/clipboard.c @@ -93,7 +93,6 @@ static void set_clipboard_data_process( int arg ) todo_wine_if( arg == 1 || arg == 3 ) ok( IsClipboardFormatAvailable( CF_WAVE ), "process %u: CF_WAVE not available\n", arg ); ret = SetClipboardData( CF_WAVE, GlobalAlloc( GMEM_DDESHARE | GMEM_ZEROINIT, 100 )); - todo_wine_if( arg == 2 || arg == 4 ) ok( ret != 0, "process %u: SetClipboardData failed err %u\n", arg, GetLastError() ); } else diff --git a/dlls/winex11.drv/clipboard.c b/dlls/winex11.drv/clipboard.c index b7c89cb654b..af8fa3733ea 100644 --- a/dlls/winex11.drv/clipboard.c +++ b/dlls/winex11.drv/clipboard.c @@ -3013,26 +3013,9 @@ void CDECL X11DRV_EmptyClipboard(void) */ BOOL CDECL X11DRV_SetClipboardData(UINT wFormat, HANDLE hData, BOOL owner) { - DWORD flags = 0; - BOOL bResult = TRUE; + if (!owner) X11DRV_CLIPBOARD_UpdateCache(); - /* If it's not owned, data can only be set if the format data is not already owned */ - if (!owner) - { - LPWINE_CLIPDATA lpRender; - - X11DRV_CLIPBOARD_UpdateCache(); - - if (((lpRender = X11DRV_CLIPBOARD_LookupData(wFormat)) && - !(lpRender->wFlags & CF_FLAG_UNOWNED))) - bResult = FALSE; - else - flags = CF_FLAG_UNOWNED; - } - - bResult &= X11DRV_CLIPBOARD_InsertClipboardData(wFormat, hData, flags, NULL, TRUE); - - return bResult; + return X11DRV_CLIPBOARD_InsertClipboardData(wFormat, hData, 0, NULL, TRUE); }