credui: Check for and don't add duplicates when filling the username combo box.

This commit is contained in:
Rob Shearman 2007-11-17 17:31:16 +00:00 committed by Alexandre Julliard
parent cdb6e9ed82
commit 4002964259
1 changed files with 13 additions and 0 deletions

View File

@ -142,6 +142,8 @@ static void CredDialogFillUsernameCombo(HWND hwndUsername, struct cred_dialog_pa
for (i = 0; i < count; i++)
{
COMBOBOXEXITEMW comboitem;
DWORD j;
BOOL duplicate = FALSE;
if (params->dwFlags & CREDUI_FLAGS_GENERIC_CREDENTIALS)
{
@ -154,6 +156,17 @@ static void CredDialogFillUsernameCombo(HWND hwndUsername, struct cred_dialog_pa
continue;
}
/* don't add another item with the same name if we've already added it */
for (j = 0; j < i; j++)
if (!strcmpW(credentials[i]->UserName, credentials[j]->UserName))
{
duplicate = TRUE;
break;
}
if (duplicate)
continue;
comboitem.mask = CBEIF_TEXT;
comboitem.iItem = -1;
comboitem.pszText = credentials[i]->UserName;