mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-20 08:38:01 +00:00
winex11: Don't disallow replacing unowned formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d9df977006
commit
99d5b75c7d
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue