Commit bac6aa865b3dc98e9fbc17f11d4d513d6b0bc435
1 parent
eb4cf5a642
Exists in
master
and in
4 other branches
xconfig: Abort close if configuration cannot be saved
Give the user an opportunity to fix the error or save the configuration under a different path. Reported-by: Hiromu Yakura <hiromu1996@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
Showing 2 changed files with 11 additions and 4 deletions Side-by-side Diff
scripts/kconfig/qconf.cc
... | ... | @@ -1478,10 +1478,13 @@ |
1478 | 1478 | ConfigView::updateListAll(); |
1479 | 1479 | } |
1480 | 1480 | |
1481 | -void ConfigMainWindow::saveConfig(void) | |
1481 | +bool ConfigMainWindow::saveConfig(void) | |
1482 | 1482 | { |
1483 | - if (conf_write(NULL)) | |
1483 | + if (conf_write(NULL)) { | |
1484 | 1484 | QMessageBox::information(this, "qconf", _("Unable to save configuration!")); |
1485 | + return false; | |
1486 | + } | |
1487 | + return true; | |
1485 | 1488 | } |
1486 | 1489 | |
1487 | 1490 | void ConfigMainWindow::saveConfigAs(void) |
... | ... | @@ -1642,7 +1645,11 @@ |
1642 | 1645 | mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit")); |
1643 | 1646 | switch (mb.exec()) { |
1644 | 1647 | case QMessageBox::Yes: |
1645 | - saveConfig(); | |
1648 | + if (saveConfig()) | |
1649 | + e->accept(); | |
1650 | + else | |
1651 | + e->ignore(); | |
1652 | + break; | |
1646 | 1653 | case QMessageBox::No: |
1647 | 1654 | e->accept(); |
1648 | 1655 | break; |
scripts/kconfig/qconf.h