[gnome-autoar] autoar_gtk_format_filter_simple_new: Fix problems when initial value is zero
- From: Ting-Wei Lan <lantw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-autoar] autoar_gtk_format_filter_simple_new: Fix problems when initial value is zero
- Date: Thu, 29 Aug 2013 07:19:59 +0000 (UTC)
commit 4b1ee9d91db8cbf5adfd1e41e9a1ee2d1b4536d8
Author: Ting-Wei Lan <lantw44 gmail com>
Date: Thu Aug 29 12:57:23 2013 +0800
autoar_gtk_format_filter_simple_new: Fix problems when initial value is zero
gnome-autoar/autoar-gtk.c | 72 +++++++++++++++++++++++----------------------
1 files changed, 37 insertions(+), 35 deletions(-)
---
diff --git a/gnome-autoar/autoar-gtk.c b/gnome-autoar/autoar-gtk.c
index f7deeac..38cba8d 100644
--- a/gnome-autoar/autoar-gtk.c
+++ b/gnome-autoar/autoar-gtk.c
@@ -114,49 +114,51 @@ simple_set_active (GtkComboBox *simple,
GtkTreeIter iter, prev;
AutoarFormat this_format;
AutoarFilter this_filter;
+ int get_format, get_filter;
int *previous;
previous = g_object_get_data ((GObject*)simple, "previous");
- gtk_tree_model_get_iter_first (model, &iter);
- do {
- gtk_tree_model_get (model, &iter,
- SIMPLE_COL_FORMAT, &this_format,
- SIMPLE_COL_FILTER, &this_filter, -1);
- if (this_format == format && this_filter == filter) {
- gtk_combo_box_set_active_iter (simple, &iter);
+ if (autoar_format_is_valid (format) && autoar_filter_is_valid (filter)) {
+ gtk_tree_model_get_iter_first (model, &iter);
+ do {
+ gtk_tree_model_get (model, &iter,
+ SIMPLE_COL_FORMAT, &this_format,
+ SIMPLE_COL_FILTER, &this_filter, -1);
+ if (this_format == format && this_filter == filter) {
+ gtk_combo_box_set_active_iter (simple, &iter);
+ previous[0] = format;
+ previous[1] = filter;
+ return;
+ }
+ prev = iter;
+ } while (gtk_tree_model_iter_next (model, &iter));
+
+ if (gtk_tree_model_iter_previous (model, &prev)) {
+ GtkTreeIter active;
+ char *description_string;
+
+ simple_get_variable_row (model, &prev, &active);
+ description_string = format_filter_full_description (format, filter);
+ gtk_list_store_set (GTK_LIST_STORE (model), &active,
+ SIMPLE_COL_FORMAT, format,
+ SIMPLE_COL_FILTER, filter,
+ SIMPLE_COL_DESCRIPTION, description_string, -1);
+ g_free (description_string);
+
+ gtk_combo_box_set_active_iter (simple, &active);
previous[0] = format;
previous[1] = filter;
return;
}
- prev = iter;
- } while (gtk_tree_model_iter_next (model, &iter));
-
- if (autoar_format_is_valid (format) && autoar_filter_is_valid (filter) &&
- gtk_tree_model_iter_previous (model, &prev)) {
- GtkTreeIter active;
- char *description_string;
-
- simple_get_variable_row (model, &prev, &active);
- description_string = format_filter_full_description (format, filter);
- gtk_list_store_set (GTK_LIST_STORE (model), &active,
- SIMPLE_COL_FORMAT, format,
- SIMPLE_COL_FILTER, filter,
- SIMPLE_COL_DESCRIPTION, description_string, -1);
- g_free (description_string);
-
- gtk_combo_box_set_active_iter (simple, &active);
- previous[0] = format;
- previous[1] = filter;
- } else {
- int get_format, get_filter;
- gtk_tree_model_get_iter_first (model, &iter);
- gtk_combo_box_set_active_iter (simple, &iter);
- gtk_tree_model_get (model, &iter,
- SIMPLE_COL_FORMAT, &get_format,
- SIMPLE_COL_FILTER, &get_filter, -1);
- previous[0] = format;
- previous[1] = filter;
}
+
+ gtk_tree_model_get_iter_first (model, &iter);
+ gtk_combo_box_set_active_iter (simple, &iter);
+ gtk_tree_model_get (model, &iter,
+ SIMPLE_COL_FORMAT, &get_format,
+ SIMPLE_COL_FILTER, &get_filter, -1);
+ previous[0] = format;
+ previous[1] = filter;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]