Juan Lang : cryptui: Correct return value of the user cancels the export wizard.

Alexandre Julliard julliard at winehq.org
Mon Feb 9 10:29:21 CST 2009


Module: wine
Branch: master
Commit: fd3cd61b5d05a8a8fee3f1b4a2111e6733f23432
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fd3cd61b5d05a8a8fee3f1b4a2111e6733f23432

Author: Juan Lang <juan.lang at gmail.com>
Date:   Sun Feb  1 14:31:37 2009 -0800

cryptui: Correct return value of the user cancels the export wizard.

---

 dlls/cryptui/main.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index ee01c6e..677bee4 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -6650,6 +6650,7 @@ static BOOL show_export_ui(DWORD dwFlags, HWND hwndParent,
     struct ExportWizData data;
     int nPages = 0;
     BOOL hasPrivateKey, showFormatPage = TRUE;
+    INT_PTR l;
 
     data.dwFlags = dwFlags;
     data.pwszWizardTitle = pwszWizardTitle;
@@ -6779,14 +6780,20 @@ static BOOL show_export_ui(DWORD dwFlags, HWND hwndParent,
     hdr.nPages = nPages;
     hdr.u4.pszbmWatermark = MAKEINTRESOURCEW(IDB_CERT_WATERMARK);
     hdr.u5.pszbmHeader = MAKEINTRESOURCEW(IDB_CERT_HEADER);
-    PropertySheetW(&hdr);
+    l = PropertySheetW(&hdr);
     DeleteObject(data.titleFont);
     if (data.freePassword)
         HeapFree(GetProcessHeap(), 0,
          (LPWSTR)data.contextInfo.pwszPassword);
     CloseHandle(data.file);
     HeapFree(GetProcessHeap(), 0, data.fileName);
-    return data.success;
+    if (l == 0)
+    {
+        SetLastError(ERROR_CANCELLED);
+        return FALSE;
+    }
+    else
+        return data.success;
 }
 
 BOOL WINAPI CryptUIWizExport(DWORD dwFlags, HWND hwndParent,




More information about the wine-cvs mailing list