mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-02 05:19:44 +01:00
SynEdit: open and close clipboard explicitly to write multiple formats.
git-svn-id: trunk@37705 -
This commit is contained in:
parent
8e677477d9
commit
15bf1e966f
@ -1285,12 +1285,19 @@ end;
|
||||
|
||||
function TSynClipboardStream.WriteToClipboard(AClipboard: TClipboard): Boolean;
|
||||
begin
|
||||
if FIsPlainText and (FText <> '') then begin
|
||||
AClipboard.AsText:= FText;
|
||||
if not AClipboard.HasFormat(CF_TEXT) then
|
||||
raise ESynEditError.Create('Clipboard copy operation failed: HasFormat');
|
||||
AClipboard.Open;
|
||||
try
|
||||
if FIsPlainText and (FText <> '') then begin
|
||||
AClipboard.AsText:= FText;
|
||||
end;
|
||||
Result := AClipboard.AddFormat(ClipboardFormatId, FMemStream.Memory^, FMemStream.Size);
|
||||
finally
|
||||
AClipboard.Close;
|
||||
end;
|
||||
Result := AClipboard.AddFormat(ClipboardFormatId, FMemStream.Memory^, FMemStream.Size);
|
||||
{$IFDEF SynClipboardExceptions}
|
||||
if not AClipboard.HasFormat(CF_TEXT) then
|
||||
raise ESynEditError.Create('Clipboard copy operation failed: HasFormat');
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TSynClipboardStream.Clear;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user