#include "libmaemo-tweaks-section/maemo-tweaks-section.h"
#include "maemo-tweaks-module-manager.h"
+static gboolean save_ret;
+
GtkWidget *create_dialog (GtkWindow *parent)
{
GtkWidget *dialog;
return dialog;
}
+void _save (MaemoTweaksSection *section, gboolean *requires_restart)
+{
+ save_ret &= maemo_tweaks_section_save (section, requires_restart);
+}
+
osso_return_t execute (osso_context_t *osso, gpointer data,
gboolean user_activated)
{
}
gtk_widget_show_all (GTK_DIALOG (dialog)->vbox);
- response = gtk_dialog_run (GTK_DIALOG (dialog));
- if (response == GTK_RESPONSE_OK)
+
+ for (;;)
{
- /* Save all settings */
- g_list_foreach (sections, (GFunc) maemo_tweaks_section_save,
- &requires_restart);
+ save_ret = TRUE;
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ if (response == GTK_RESPONSE_OK)
+ {
+ /* Save all settings */
+ g_list_foreach (sections, (GFunc) _save, &requires_restart);
+ }
+ if (save_ret)
+ break;
}
gtk_widget_destroy (GTK_WIDGET (dialog));