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

From: Arnaud Lacombe
Date: Mon Jul 25 2011 - 11:25:38 EST


Hi Michal,

On Mon, Jul 25, 2011 at 9:53 AM, Michal Marek <mmarek@xxxxxxx> wrote:
> On 25.5.2011 15:18, Michal Marek wrote:
>>
>> 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<hiromu1996@xxxxxxxxx>
>> Signed-off-by: Michal Marek<mmarek@xxxxxxx>
>
> 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
>>
>> 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@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/