Gtk: update GtkEntry cursorpos in changed event for gtk too. issue #7243

git-svn-id: trunk@24031 -
This commit is contained in:
zeljko 2010-03-16 11:01:02 +00:00
parent 3066ad5a51
commit 9444dd3460

View File

@ -451,16 +451,18 @@ begin
EventTrace('changed_editbox', data); EventTrace('changed_editbox', data);
{$ENDIF} {$ENDIF}
{TODO: test this with gtk1}
{$ifdef gtk2}
if GTK_IS_ENTRY(Widget) then if GTK_IS_ENTRY(Widget) then
begin begin
{cheat GtkEditable to update cursor pos in gtkEntry. issue #7243} {cheat GtkEditable to update cursor pos in gtkEntry. issue #7243}
{$ifdef gtk1}
GStart := PGtkOldEditable(Widget)^.selection_start_pos;
GEnd := PGtkOldEditable(Widget)^.selection_end_pos;
{$else}
gtk_editable_get_selection_bounds(PGtkEditable(Widget), @GStart, @GEnd); gtk_editable_get_selection_bounds(PGtkEditable(Widget), @GStart, @GEnd);
{$endif}
if GStart = GEnd then if GStart = GEnd then
gtk_editable_set_position(PGtkEditable(Widget), -1); gtk_editable_set_position(PGtkEditable(Widget), -1);
end; end;
{$endif}
FillByte(Mess,SizeOf(Mess),0); FillByte(Mess,SizeOf(Mess),0);
Mess.Msg := CM_TEXTCHANGED; Mess.Msg := CM_TEXTCHANGED;