When Network Identity Manager starts, the credentials display
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 1 Oct 2007 05:31:02 +0000 (05:31 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 1 Oct 2007 05:31:02 +0000 (05:31 +0000)
enumerates known identities and displays them if necessary.  However,
as plug-ins load and the list of known identities, their properties
and credentials change, the order of the displayed list will also
change.

The existing code does not deal well in respect to tracking the
current selection when the list of identities and credentials change.
This results in inconsistent behavior where the identity that was
originally at the top of the list maintains its selection state while
the identity at the top of the list after all the plug-ins have loaded
will receive focus.

This patch fixes this problem by explicitly setting focus and
selection to the identity or credential at the current cursor location
following a change in the credentials list.

ticket: 5782

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20033 dc483132-0cff-0310-8789-dd5450dbe970

src/windows/identity/ui/credwnd.c

index 5b275eb1ccfc82098316706c8c989fcdf0211c55..5e9740ecdfb70a42af595161a06403618ce30b5c 100644 (file)
@@ -3562,7 +3562,7 @@ cw_kmq_wm_dispatch(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
             cw_update_outline(tbl);
             cw_update_extents(tbl, TRUE);
             cw_update_selection_state(tbl);
-            cw_set_row_context(tbl, tbl->cursor_row);
+            cw_select_row(tbl, tbl->cursor_row, 0);
             InvalidateRect(hwnd, NULL, FALSE);
             break;