mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 01:28:19 +02:00
FIX: Cocoa: SecureTextField crashed
This commit is contained in:
parent
90c5cbd130
commit
769dc338bc
@ -1213,18 +1213,26 @@ end;
|
||||
class procedure TCocoaWSCustomEdit.SetText(const AWinControl: TWinControl;
|
||||
const AText: String);
|
||||
var
|
||||
txt : NSString; // NSString for AText
|
||||
txtWithLineBreak: NSString; // need not release
|
||||
field: TCocoaTextField;
|
||||
txt : NSString; // NSString for AText
|
||||
txtWithoutLineBreak: NSString; // need not release
|
||||
field: NSTextField;
|
||||
begin
|
||||
if (AWinControl.HandleAllocated) then
|
||||
if not AWinControl.HandleAllocated then exit;
|
||||
|
||||
field:= NSTextField(AWinControl.Handle);
|
||||
if TCustomEdit(AWinControl).PasswordChar=#0 then
|
||||
begin
|
||||
field:= TCocoaTextField(AWinControl.Handle);
|
||||
// TCocoaTextField
|
||||
txt:= NSStringUtf8(AText);
|
||||
txtWithLineBreak := NSStringRemoveLineBreak(txt);
|
||||
field.setStringValue(txtWithLineBreak);
|
||||
txtWithoutLineBreak:= NSStringRemoveLineBreak(txt);
|
||||
field.setStringValue(txtWithoutLineBreak);
|
||||
field.textDidChange(nil); // check maxLength and calls controls callback (if any)
|
||||
txt.release;
|
||||
end
|
||||
else
|
||||
begin
|
||||
// TCocoaSecureTextField
|
||||
ControlSetTextWithChangeEvent(field, AText);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user