mirror of
https://github.com/parchlinux/calamares.git
synced 2025-07-04 21:05:37 -04:00
[partition] Be defensive against no device-device-available.
Scenario is this: you have no suitable installation devices on your system (everything is mounted, or HDD has died), click through to partition page, where you have all the buttons available, but no devices in the list. The following actions then cause a crash: - clicking "back" - clicking any button Prevent that: - you can click "back", but if there is no device selected nothing happens to the device state (no nullptr deref, and no crash) - button code is now more resilient to this scenario - buttons are hidden until a device is available, so you can't even click on them to trigger the code.
This commit is contained in:
parent
a35a7b108f
commit
05967311de
2 changed files with 34 additions and 9 deletions
|
@ -113,8 +113,12 @@ private:
|
|||
void setupChoices();
|
||||
QComboBox* createBootloaderComboBox( QWidget* parentButton );
|
||||
Device* selectedDevice();
|
||||
void applyDeviceChoice();
|
||||
void continueApplyDeviceChoice();
|
||||
|
||||
/* Change the UI depending on the device selected. */
|
||||
void hideButtons(); // Hide everything when no device
|
||||
void applyDeviceChoice(); // Start scanning new device
|
||||
void continueApplyDeviceChoice(); // .. called after scan
|
||||
|
||||
void updateDeviceStatePreview();
|
||||
void updateActionChoicePreview( ChoicePage::Choice choice );
|
||||
void setupActions();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue