pull up r20033 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 1 Oct 2007 23:54:52 +0000 (23:54 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 1 Oct 2007 23:54:52 +0000 (23:54 +0000)
 r20033@cathode-dark-space:  jaltman | 2007-10-01 01:31:02 -0400
 ticket: 5782

 When Network Identity Manager starts, the credentials display
 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
version_fixed: 1.6.3

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@20074 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;