mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 12:20:38 +02:00
fixed a gtk1 bug where setting Memo.SelStart > Length(Memo.Text) would cause an exception
git-svn-id: trunk@12537 -
This commit is contained in:
parent
77cd061be9
commit
5acb4edee6
@ -1002,6 +1002,7 @@ class procedure TGtkWSCustomEdit.SetSelStart(const ACustomEdit: TCustomEdit;
|
||||
NewStart: integer);
|
||||
var
|
||||
Widget: PGtkWidget;
|
||||
MaxPos: Integer;
|
||||
begin
|
||||
Widget:=GetWidgetInfo(Pointer(ACustomEdit.Handle), true)^.CoreWidget;
|
||||
if WidgetGetSelStart(Widget)=NewStart then exit;
|
||||
@ -1009,7 +1010,8 @@ begin
|
||||
// event. Then the LCL gets notified and wants to react: force thaw (unfreeze)
|
||||
if GTK_IS_TEXT(Widget) then
|
||||
gtk_text_thaw(PGtkText(Widget));
|
||||
gtk_editable_set_position(PGtkOldEditable(Widget), NewStart);
|
||||
MaxPos := gtk_text_get_length(PGtkText(Widget));
|
||||
gtk_editable_set_position(PGtkOldEditable(Widget), Min(NewStart, MaxPos));
|
||||
WidgetSetSelLength(Widget,0); // Setting the selection start should cancel any selection
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user