From 07d5a61f2a56f23f9fe3b01aa553ecd35509c3be Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Wed, 26 Feb 2014 19:28:05 +0000 Subject: [PATCH] v1.4.4 (build 425) * Also ensure that the format prompt is being closed after bad blocks check is cancelled --- ChangeLog.txt | 2 +- src/format.c | 9 ++++----- src/rufus.rc | 12 ++++++------ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 620bc384..b86c943f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,4 +1,4 @@ -o Version 1.4.4 (2013.02.??) +o Version 1.4.4 (2013.02.26) Add *uncompressed* Disk Image support (FreeBSD, FreeNAS, etc.) Add right-to-left language support Add an alert when multiple partitions are about to be erased diff --git a/src/format.c b/src/format.c index 8d3a18a8..1a8483fe 100644 --- a/src/format.c +++ b/src/format.c @@ -1143,7 +1143,8 @@ static BOOL CALLBACK FormatPromptCallback(HWND hWnd, LPARAM lParam) /* * When we format a drive that doesn't have any existing partitions, we can't lock it * prior to partitioning, which means that Windows will display a "You need to format the - * disk in drive X: before you can use it'. We have to close that popup manually. + * disk in drive X: before you can use it'. You will also get that popup if you start a + * bad blocks check and cancel it before it completes. We have to close that popup manually. */ DWORD WINAPI CloseFormatPromptThread(LPVOID param) { HWND hFormatPrompt; @@ -1155,7 +1156,7 @@ DWORD WINAPI CloseFormatPromptThread(LPVOID param) { SendMessage(hFormatPrompt, WM_COMMAND, (WPARAM)IDCANCEL, (LPARAM)0); uprintf("Closed Windows format prompt\n"); } - Sleep(50); + Sleep(100); } ExitThread(0); } @@ -1265,6 +1266,7 @@ DWORD WINAPI FormatThread(void* param) goto out; } + CreateThread(NULL, 0, CloseFormatPromptThread, NULL, 0, NULL); if (IsChecked(IDC_BADBLOCKS)) { do { // create a log file for bad blocks report. Since %USERPROFILE% may @@ -1394,8 +1396,6 @@ DWORD WINAPI FormatThread(void* param) } hLogicalVolume = INVALID_HANDLE_VALUE; - // TODO: (v1.5) Our start button should become cancel instead of close - // Especially after destructive badblocks test, you must zero the MBR/GPT completely // before repartitioning. Else, all kind of bad things happen. if (!ClearMBRGPT(hPhysicalDrive, SelectedDrive.DiskSize, SelectedDrive.Geometry.BytesPerSector, use_large_fat32)) { @@ -1407,7 +1407,6 @@ DWORD WINAPI FormatThread(void* param) UpdateProgress(OP_ZERO_MBR, -1.0f); CHECK_FOR_USER_CANCEL; - CreateThread(NULL, 0, CloseFormatPromptThread, NULL, 0, NULL); if (!CreatePartition(hPhysicalDrive, pt, fs, (pt==PARTITION_STYLE_MBR)&&(bt==BT_UEFI))) { FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_PARTITION_FAILURE; goto out; diff --git a/src/rufus.rc b/src/rufus.rc index 22d59ffc..8ac5feaf 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -32,7 +32,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 206, 329 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Rufus 1.4.4.424" +CAPTION "Rufus 1.4.4.425" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,94,291,50,14 @@ -165,7 +165,7 @@ END RTL_IDD_DIALOG DIALOGEX 12, 12, 206, 329 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL -CAPTION "Rufus 1.4.4.424" +CAPTION "Rufus 1.4.4.425" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,94,291,50,14 @@ -427,8 +427,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,4,4,424 - PRODUCTVERSION 1,4,4,424 + FILEVERSION 1,4,4,425 + PRODUCTVERSION 1,4,4,425 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -445,13 +445,13 @@ BEGIN BEGIN VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "1.4.4.424" + VALUE "FileVersion", "1.4.4.425" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2014 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "rufus.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "1.4.4.424" + VALUE "ProductVersion", "1.4.4.425" END END BLOCK "VarFileInfo"