mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-28 11:49:30 +02:00
gtk intf: TGtkWSCustomEdit.SetText: lock during set and fire CM_TEXTCHANGED, bug #14615
git-svn-id: trunk@21836 -
This commit is contained in:
parent
048789bd19
commit
bd38195d35
@ -450,6 +450,7 @@ begin
|
||||
EventTrace('changed_editbox', data);
|
||||
{$ENDIF}
|
||||
|
||||
FillByte(Mess,SizeOf(Mess),0);
|
||||
Mess.Msg := CM_TEXTCHANGED;
|
||||
DeliverMessage(Data, Mess);
|
||||
end;
|
||||
|
@ -1257,13 +1257,28 @@ end;
|
||||
|
||||
class procedure TGtkWSCustomEdit.SetText(const AWinControl: TWinControl;
|
||||
const AText: string);
|
||||
var
|
||||
Widget: PGtkWidget;
|
||||
Mess : TLMessage;
|
||||
begin
|
||||
if not WSCheckHandleAllocated(AWinControl, 'SetText') then
|
||||
Exit;
|
||||
{$IFDEF VerboseTWinControlRealText}
|
||||
DebugLn(['TGtkWSCustomEdit.SetText START ',DbgSName(AWinControl),' AText="',AText,'"']);
|
||||
{$ENDIF}
|
||||
gtk_entry_set_text(PGtkEntry(AWinControl.Handle), PChar(AText));
|
||||
Widget:=PGtkWidget(AWinControl.Handle);
|
||||
LockOnChange(PgtkObject(Widget), +1);
|
||||
try
|
||||
gtk_entry_set_text(PGtkEntry(Widget), PChar(AText));
|
||||
finally
|
||||
LockOnChange(PgtkObject(Widget), -1);
|
||||
end;
|
||||
{$IFDEF VerboseTWinControlRealText}
|
||||
DebugLn(['TGtkWSCustomEdit.SetText SEND TEXTCHANGED message ',DbgSName(AWinControl),' New="',gtk_entry_get_text(PGtkEntry(AWinControl.Handle)),'"']);
|
||||
{$ENDIF}
|
||||
FillByte(Mess,SizeOf(Mess),0);
|
||||
Mess.Msg := CM_TEXTCHANGED;
|
||||
DeliverMessage(AWinControl, Mess);
|
||||
|
||||
{$IFDEF VerboseTWinControlRealText}
|
||||
DebugLn(['TGtkWSCustomEdit.SetText END ',DbgSName(AWinControl),' New="',gtk_entry_get_text(PGtkEntry(AWinControl.Handle)),'"']);
|
||||
|
Loading…
Reference in New Issue
Block a user