Thread (5 messages) 5 messages, 2 authors, 2011-07-25

Re: [PATCH] xconfig: merge code path to conf_write()

From: Arnaud Lacombe <hidden>
Date: 2011-07-25 15:25:31
Also in: lkml

Hi Michal,

On Mon, Jul 25, 2011 at 9:53 AM, Michal Marek [off-list ref] wrote:
On 25.5.2011 15:18, Michal Marek wrote:
quoted
The following patch avoids the data loss if the configuration cannot be
saved.

Michal

Subject: [PATCH] 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<redacted>
Signed-off-by: Michal Marek<redacted>
I completely forgot about this patch. It's applied now and will be in 3.1.
gni ? isn't this issue already fixed by
https://patchwork.kernel.org/patch/812862/ which went in v3.0 ??

 - Arnaud
Michal
quoted
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index c2796b8..92bf576 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -1478,10 +1478,13 @@ void ConfigMainWindow::loadConfig(void)
       ConfigView::updateListAll();
 }

-void ConfigMainWindow::saveConfig(void)
+bool ConfigMainWindow::saveConfig(void)
 {
-       if (conf_write(NULL))
+       if (conf_write(NULL)) {
               QMessageBox::information(this, "qconf", _("Unable to save
configuration!"));
+               return false;
+       }
+       return true;
 }

 void ConfigMainWindow::saveConfigAs(void)
@@ -1642,7 +1645,11 @@ void ConfigMainWindow::closeEvent(QCloseEvent* e)
       mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit"));
       switch (mb.exec()) {
       case QMessageBox::Yes:
-               saveConfig();
+               if (saveConfig())
+                       e->accept();
+               else
+                       e->ignore();
+               break;
       case QMessageBox::No:
               e->accept();
               break;
diff --git a/scripts/kconfig/qconf.h b/scripts/kconfig/qconf.h
index 91677d9..3715b3e 100644
--- a/scripts/kconfig/qconf.h
+++ b/scripts/kconfig/qconf.h
@@ -311,7 +311,7 @@ public slots:
       void listFocusChanged(void);
       void goBack(void);
       void loadConfig(void);
-       void saveConfig(void);
+       bool saveConfig(void);
       void saveConfigAs(void);
       void searchConfig(void);
       void showSingleView(void);
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help