From 43ccdbd4d8ff526b6150c1e3ecbdddaaceeae88f Mon Sep 17 00:00:00 2001 From: localhorst Date: Sun, 7 Dec 2025 20:39:04 +0100 Subject: [PATCH] fix terminate if no drive is detected --- src/reHDD.cpp | 118 +++++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/src/reHDD.cpp b/src/reHDD.cpp index 364eb48..ac8c940 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -143,76 +143,76 @@ void reHDD::ThreadUserInput() while (true) { Drive *tmpSelectedDrive = getSelectedDrive(); - if (tmpSelectedDrive != nullptr) + + // cout << TUI::readUserInput() << endl; + switch (TUI::readUserInput()) { + case TUI::UserInput::DownKey: + // cout << "Down" << endl; + handleArrowKey(TUI::UserInput::DownKey); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::UpKey: + // cout << "Up" << endl; + handleArrowKey(TUI::UserInput::UpKey); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::Undefined: + // cout << "Undefined" << endl; + break; + case TUI::UserInput::Abort: + // cout << "Abort" << endl; + handleAbort(); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::Delete: + // cout << "Delete" << endl; - // cout << TUI::readUserInput() << endl; - switch (TUI::readUserInput()) + if (tmpSelectedDrive != nullptr) { - case TUI::UserInput::DownKey: - // cout << "Down" << endl; - handleArrowKey(TUI::UserInput::DownKey); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::UpKey: - // cout << "Up" << endl; - handleArrowKey(TUI::UserInput::UpKey); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::Undefined: - // cout << "Undefined" << endl; - break; - case TUI::UserInput::Abort: - // cout << "Abort" << endl; - handleAbort(); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::Delete: - // cout << "Delete" << endl; - - if (tmpSelectedDrive != nullptr) + if (tmpSelectedDrive->state == Drive::NONE) { - if (tmpSelectedDrive->state == Drive::NONE) - { - tmpSelectedDrive->state = Drive::DELETE_SELECTED; - } + tmpSelectedDrive->state = Drive::DELETE_SELECTED; } + } - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::Shred: - // cout << "Shred" << endl; + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::Shred: + // cout << "Shred" << endl; + if (tmpSelectedDrive != nullptr) + { if (tmpSelectedDrive->state == Drive::NONE) { tmpSelectedDrive->state = Drive::SHRED_SELECTED; } - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::ShredAll: - // cout << "ShredAll" << endl; - startShredAllDrives(&listDrives); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::Enter: - // cout << "Enter" << endl; - handleEnter(); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::ESC: - // cout << "ESC" << endl; - handleESC(); - ui->updateTUI(&listDrives, u8SelectedEntry); - break; - case TUI::UserInput::Terminate: - // cout << "Terminate" << endl; - stopShredAllDrives(&listDrives); - ui->terminateTUI(); - sleep(5); // sleep 5 sec - std::exit(1); // Terminates main, doesn't wait for threads - break; - default: - break; } + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::ShredAll: + // cout << "ShredAll" << endl; + startShredAllDrives(&listDrives); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::Enter: + // cout << "Enter" << endl; + handleEnter(); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::ESC: + // cout << "ESC" << endl; + handleESC(); + ui->updateTUI(&listDrives, u8SelectedEntry); + break; + case TUI::UserInput::Terminate: + // cout << "Terminate" << endl; + stopShredAllDrives(&listDrives); + ui->terminateTUI(); + sleep(5); // sleep 5 sec + std::exit(1); // Terminates main, doesn't wait for threads + break; + default: + break; } } }