From eed0c7bbfb5ffa7ab5fbbfafc29ee906d9171efc Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Fri, 21 Aug 2009 06:13:24 +0000 Subject: [PATCH] Ensure ListSessionFocusChanged is called after deletion. Fixes issue #1314 --- source/connections.pas | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/connections.pas b/source/connections.pas index 589f2222..91cf42f5 100644 --- a/source/connections.pas +++ b/source/connections.pas @@ -291,6 +291,7 @@ end; procedure Tconnform.btnDeleteClick(Sender: TObject); var SessionKey: String; + Node: PVirtualNode; begin if MessageDlg('Delete session "' + SelectedSession + '" ?', mtConfirmation, [mbYes, mbCancel], 0) = mrYes then begin @@ -300,7 +301,12 @@ begin FSessionNames.Delete(FSessionNames.IndexOf(SelectedSession)); RefreshSessionList(False); if (not Assigned(ListSessions.FocusedNode)) and (ListSessions.RootNodeCount > 0) then - SelectNode(ListSessions, ListSessions.RootNodeCount-1); + SelectNode(ListSessions, ListSessions.RootNodeCount-1) + else begin + Node := ListSessions.FocusedNode; + ListSessions.FocusedNode := nil; + ListSessions.FocusedNode := Node; + end; end; end;