GetClipboardData16 might return an invalid global handle (spotted by
Corel).
This commit is contained in:
parent
09f8a751e8
commit
9b84bb66ea
|
@ -1057,16 +1057,13 @@ static Atom EVENT_SelectionRequest_STRING( Window requestor, Atom target, Atom r
|
||||||
itemFmtName, CF_TEXT, CLIPBOARD_GetFormatName(CF_TEXT));
|
itemFmtName, CF_TEXT, CLIPBOARD_GetFormatName(CF_TEXT));
|
||||||
TSXFree(itemFmtName);
|
TSXFree(itemFmtName);
|
||||||
|
|
||||||
if ( !CLIPBOARD_IsPresent(CF_TEXT) )
|
|
||||||
{
|
|
||||||
rprop = None;
|
|
||||||
goto END;
|
|
||||||
}
|
|
||||||
|
|
||||||
hText = GetClipboardData16(CF_TEXT);
|
hText = GetClipboardData16(CF_TEXT);
|
||||||
|
if ( !hText )
|
||||||
|
return None;
|
||||||
text = GlobalLock16(hText);
|
text = GlobalLock16(hText);
|
||||||
|
if (!text)
|
||||||
|
return None;
|
||||||
size = GlobalSize16(hText);
|
size = GlobalSize16(hText);
|
||||||
|
|
||||||
/* remove carriage returns */
|
/* remove carriage returns */
|
||||||
|
|
||||||
lpstr = (char*)HEAP_xalloc( GetProcessHeap(), 0, size-- );
|
lpstr = (char*)HEAP_xalloc( GetProcessHeap(), 0, size-- );
|
||||||
|
@ -1088,7 +1085,6 @@ static Atom EVENT_SelectionRequest_STRING( Window requestor, Atom target, Atom r
|
||||||
GlobalUnlock16(hText);
|
GlobalUnlock16(hText);
|
||||||
HeapFree( GetProcessHeap(), 0, lpstr );
|
HeapFree( GetProcessHeap(), 0, lpstr );
|
||||||
|
|
||||||
END:
|
|
||||||
return rprop;
|
return rprop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue