gtk2: fix resource leak (gtk_clipboard_wait_for_contents). Issue #40499

This commit is contained in:
wsherman 2023-09-09 16:31:12 -07:00 committed by Maxim Ganetsky
parent fde9868fda
commit 275ce9fdd8

View File

@ -7600,6 +7600,7 @@ var
TimeID: cardinal;
EventData: PClipboardEventData;
TypeAtom: TGdkAtom;
GtkSelectionDataPtr: PGtkSelectionData;
begin
{$IFDEF DEBUG_CLIPBOARD}
DebugLn('[RequestSelectionData] FormatID=',dbgs(FormatID));
@ -7634,8 +7635,10 @@ begin
// WaitForClipboardAnswer provides a timeout as in some cases
// gtk_clipboard_wait_for_contents can wait forever
if WaitForClipboardAnswer(EventData) then begin
gtk_clipboard_wait_for_contents(gtk_clipboard_get(TypeAtom), FormatID);
Result:=EventData^.Data;
GtkSelectionDataPtr := gtk_clipboard_wait_for_contents(gtk_clipboard_get(TypeAtom), FormatID);
if GtkSelectionDataPtr <> nil then
gtk_selection_data_free(GtkSelectionDataPtr);
Result:=EventData^.Data; //why aren't we using the returned object from gtk_clipboard_wait_for_contents directly?
end;
end;
finally