diff --git a/src/shred.cpp b/src/shred.cpp index 7132cec..e825845 100644 --- a/src/shred.cpp +++ b/src/shred.cpp @@ -210,13 +210,12 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd) if ((drive->state.load() == Drive::TaskState::SHRED_ACTIVE) || (drive->state.load() == Drive::TaskState::CHECK_SUCCESSFUL) || (drive->state == Drive::TaskState::CHECK_FAILED)) { - drive->state = Drive::TaskState::NONE; - drive->setTaskPercentage(0.0); if (drive->state != Drive::TaskState::CHECK_FAILED) { Printer::getPrinter()->print(drive); } - + drive->state = Drive::TaskState::NONE; + drive->setTaskPercentage(0.0); Logger::logThis()->info("Finished shred/check for: " + drive->getModelName() + "-" + drive->getSerial()); } return 0; diff --git a/src/tui.cpp b/src/tui.cpp index 59418e8..54d1474 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -176,7 +176,7 @@ void TUI::updateTUI(list *plistDrives, uint8_t u8SelectedEntry) } #ifdef ZERO_CHECK - if (bSelectedEntry && it->bWasChecked && (it->state == Drive::TaskState::CHECK_FAILED)) + if (bSelectedEntry && it->bWasChecked && (it->u32DriveChecksumAfterShredding != 0U)) { dialog = createZeroChecksumWarning(70, 16, ((u16StdscrX) - (int)(u16StdscrX / 2) - 20), (int)(u16StdscrY / 2) - 8, it->getPath(), it->getModelFamily(), it->getModelName(), it->getSerial(), it->u32DriveChecksumAfterShredding); wrefresh(dialog);