applied patch from Luiz Americo for bug #1427

git-svn-id: trunk@10993 -
This commit is contained in:
andrew 2007-04-24 01:30:30 +00:00
parent e387149eff
commit c18b7e95b3
2 changed files with 8 additions and 6 deletions

View File

@ -3276,14 +3276,14 @@ begin
{$IFDEF EventTrace}
EventTrace('gtkListSelectionChangedAfter', data);
{$ENDIF}
GtkList:=PGtkList(widget);
if (GtkList^.selection = nil) or (LockOnChange(PGtkObject(widget),0) > 0) then
Exit;
FillChar(Mess,SizeOf(Mess),0);
Mess.msg := LM_SelChange;
GtkList:=PGtkList(widget);
if (data=nil) or (GtkList^.selection<>nil) then begin
if gtkListGetSelectionMode(GtkList)=GTK_SELECTION_SINGLE then
gtk_list_set_selection_mode(GtkList,GTK_SELECTION_BROWSE);
DeliverMessage(Data, Mess);
end;
if gtkListGetSelectionMode(GtkList)=GTK_SELECTION_SINGLE then
gtk_list_set_selection_mode(GtkList,GTK_SELECTION_BROWSE);
DeliverMessage(Data, Mess);
end;
{$I gtkDragCallback.inc}

View File

@ -520,6 +520,7 @@ begin
Handle := ACustomListBox.Handle;
if Handle<>0 then
begin
LockOnChange(PGtkObject(Handle),+1);
Widget:=GetWidgetInfo(Pointer(Handle),True)^.CoreWidget;
if GtkWidgetIsA(Widget,gtk_list_get_type) then begin
if AIndex >= 0 then
@ -531,6 +532,7 @@ begin
gtk_clist_select_row(PGtkCList(Widget), AIndex, 1); // column
end else
raise Exception.Create('');
LockOnChange(PGtkObject(Handle),-1);
end;
end;