mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 09:38:12 +02:00
Fix getting too much string data from clipboard (w32 only). Issue #16483 Based on patch by Bart Broersma
git-svn-id: trunk@27553 -
This commit is contained in:
parent
1f15b325ab
commit
89bc817f68
@ -411,12 +411,20 @@ begin
|
||||
begin;
|
||||
SetLength(BufferWideString, Size div 2);
|
||||
BufferStream.Read(BufferWideString[1], Size);
|
||||
//BufferString may have pending #0 's (or garbage after a #0)
|
||||
Size := Pos(#0, BufferWideString);
|
||||
if Size > 0 then
|
||||
SetLength(BufferWideString, Size);
|
||||
BufferString := UTF16ToUTF8(BufferWideString);
|
||||
end
|
||||
else
|
||||
begin
|
||||
SetLength(BufferString, Size);
|
||||
SetLength(BufferString, Size - 1);
|
||||
BufferStream.Read(BufferString[1], Size);
|
||||
//BufferString may have pending #0 's (or garbage after a #0)
|
||||
Size := Pos(#0, BufferString);
|
||||
if Size > 0 then
|
||||
SetLength(BufferString, Size - 1);
|
||||
BufferString := AnsiToUtf8(BufferString);
|
||||
end;
|
||||
Stream.Write(BufferString[1], Length(BufferString));
|
||||
|
Loading…
Reference in New Issue
Block a user