[ui] fix ability to toggle progress report during WIM image extraction

* Also add log progress report for compressed images
This commit is contained in:
Pete Batard 2020-11-14 19:38:56 +00:00
parent 29205b3a0e
commit 630c508525
No known key found for this signature in database
GPG Key ID: 38E0CF5E69EDD671
4 changed files with 27 additions and 6 deletions

View File

@ -1,3 +1,14 @@
o Version 3.13 (2020.11.??)
Add a cheat mode (Alt-M) to accept disk images without a Boot Marker
Add marquee operation progress to the taskbar icon
Add zeroing/image writing progress to the log
Switch to using 0x55 and 0xAA instead of 0x00 and 0xFF for low pass badblock check
Switch to using fake/maufacturer units when computing the default label
Fix overnumerous write retries on error when writing a disk image
Work around Windows' abysmal handling of removable drives that contain an ESP
Improve mounting/unmounting of volumes
Other internal fixes and improvements (VDS, error reporting, etc.)
o Version 3.12 (2020.10.14)
Add optional SHA-512 digest algorithm (Alt-H)
Add a cheat mode (Alt +/-) to increase/decrease application priority

View File

@ -1423,7 +1423,16 @@ static BOOL SetupWinToGo(DWORD DriveIndex, const char* drive_name, BOOL use_esp)
static void update_progress(const uint64_t processed_bytes)
{
// NB: We don't really care about resetting this value to UINT64_MAX for a new pass.
static uint64_t last_value = UINT64_MAX;
uint64_t cur_value;
UpdateProgressWithInfo(OP_FORMAT, MSG_261, processed_bytes, img_report.image_size);
cur_value = (processed_bytes * min(80, img_report.image_size)) / img_report.image_size;
if (cur_value != last_value) {
last_value = cur_value;
uprintfs("+");
}
}
// Some compressed images use streams that aren't multiple of the sector
@ -1498,7 +1507,7 @@ static BOOL WriteDrive(HANDLE hPhysicalDrive, HANDLE hSourceImage)
UpdateProgressWithInfoInit(NULL, FALSE);
if (img_report.compression_type != BLED_COMPRESSION_NONE) {
uprintf("Writing compressed image...");
uprintf("Writing compressed image:");
sec_buf = (uint8_t*)_mm_malloc(SelectedDrive.SectorSize, SelectedDrive.SectorSize);
if (sec_buf == NULL) {
FormatStatus = ERROR_SEVERITY_ERROR | FAC(FACILITY_STORAGE) | ERROR_NOT_ENOUGH_MEMORY;

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.13.1727"
CAPTION "Rufus 3.13.1728"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -395,8 +395,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,13,1727,0
PRODUCTVERSION 3,13,1727,0
FILEVERSION 3,13,1728,0
PRODUCTVERSION 3,13,1728,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -414,13 +414,13 @@ BEGIN
VALUE "Comments", "https://rufus.ie"
VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "3.13.1727"
VALUE "FileVersion", "3.13.1728"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2020 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
VALUE "OriginalFilename", "rufus-3.13.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "3.13.1727"
VALUE "ProductVersion", "3.13.1728"
END
END
BLOCK "VarFileInfo"

View File

@ -749,6 +749,7 @@ static DWORD WINAPI WimApplyImageThread(LPVOID param)
}
uprintf("Applying Windows image...");
UpdateProgressWithInfoInit(NULL, TRUE);
// Run a first pass using WIM_FLAG_NO_APPLY to count the files
wim_nb_files = 0;
wim_proc_files = 0;