Module: wine Branch: master Commit: 3c7e95ee39ad207048c7d7d5aaf4cae85761a684 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3c7e95ee39ad207048c7d7d5aa...
Author: Juan Lang juan.lang@gmail.com Date: Thu Dec 18 14:03:30 2008 -0800
cryptui: Set purpose selection radio button based on enhanced key usage value.
---
dlls/cryptui/main.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c index 00a0389..dc1c807 100644 --- a/dlls/cryptui/main.c +++ b/dlls/cryptui/main.c @@ -1716,6 +1716,7 @@ static void show_cert_usages(HWND hwnd, struct detail_data *data) PCCRYPT_OID_INFO *usages; RECT rc; LVCOLUMNW column; + PurposeSelection purposeSelection;
GetWindowRect(lv, &rc); column.mask = LVCF_WIDTH; @@ -1738,6 +1739,10 @@ static void show_cert_usages(HWND hwnd, struct detail_data *data) HeapFree(GetProcessHeap(), 0, usage); usage = NULL; } + else if (usage->cUsageIdentifier) + purposeSelection = PurposeEnableSelected; + else + purposeSelection = PurposeDisableAll; } else if (CertGetEnhancedKeyUsage(cert, CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG, NULL, &size)) @@ -1749,9 +1754,16 @@ static void show_cert_usages(HWND hwnd, struct detail_data *data) HeapFree(GetProcessHeap(), 0, usage); usage = NULL; } + else if (usage->cUsageIdentifier) + purposeSelection = PurposeEnableAll; + else + purposeSelection = PurposeDisableAll; } else + { + purposeSelection = PurposeEnableAll; usage = NULL; + } if (usage) { DWORD i; @@ -1779,7 +1791,9 @@ static void show_cert_usages(HWND hwnd, struct detail_data *data) WTHelperGetKnownUsages(2, &usages); } } - select_purposes(hwnd, PurposeEnableAll); + select_purposes(hwnd, purposeSelection); + SendMessageW(GetDlgItem(hwnd, IDC_ENABLE_ALL_PURPOSES + purposeSelection), + BM_CLICK, 0, 0); }
static void set_general_cert_properties(HWND hwnd, struct detail_data *data) @@ -1800,7 +1814,6 @@ static void set_general_cert_properties(HWND hwnd, struct detail_data *data) HeapFree(GetProcessHeap(), 0, str); } show_cert_usages(hwnd, data); - SendMessageW(GetDlgItem(hwnd, IDC_ENABLE_ALL_PURPOSES), BM_CLICK, 0, 0); }
#define MAX_FRIENDLY_NAME 40