diff --git a/ChangeLog b/ChangeLog index aa7b0a52142f695ee203e82bb1b21fc26d590d90..10545c66aae97f1f07ec0b4710e96d167a01f662 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-02-22 jeromeg + + * lib/screenshooter-dialogs.c: + (set_default_item) do not look up for a default item if the tree is empty. + 2009-02-22 jeromeg * lib/screenshooter-utils.c: add some additionnal debugging information. diff --git a/lib/screenshooter-dialogs.c b/lib/screenshooter-dialogs.c index 45e71c44bd66f7e19b6a5b69407a4d6054b4bf6a..5beff4e76463b02d36055cb7a69c82460614e17e 100644 --- a/lib/screenshooter-dialogs.c +++ b/lib/screenshooter-dialogs.c @@ -375,42 +375,51 @@ static void set_default_item (GtkWidget *combobox, { GtkTreeModel *model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox)); - GtkTreeIter iter; - gchar *command = NULL; - gboolean found = FALSE; + GtkTreeIter iter; + /* Get the first iter */ - gtk_tree_model_get_iter_first (model , &iter); - - /* Loop until finding the appropirate item, if any */ - do - { - gtk_tree_model_get (model, &iter, 2, &command, -1); - - if (g_str_equal (command, sd->app)) + if (gtk_tree_model_get_iter_first (model , &iter)) + { + gchar *command = NULL; + gboolean found = FALSE; + + /* Loop until finding the appropirate item, if any */ + do { - gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), - &iter); + gtk_tree_model_get (model, &iter, 2, &command, -1); - found = TRUE; + if (g_str_equal (command, sd->app)) + { + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), + &iter); + + found = TRUE; + } + + g_free (command); } + while (gtk_tree_model_iter_next (model, &iter)); - g_free (command); + /* If no suitable item was found, set the first item as active and + * set sd->app accordingly. */ + if (!found) + { + gtk_tree_model_get_iter_first (model , &iter); + gtk_tree_model_get (model, &iter, 2, &command, -1); + + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter); + + g_free (sd->app); + + sd->app = command; + } } - while (gtk_tree_model_iter_next (model, &iter)); - - /* If no suitable item was found, set the first item as active and - * set sd->app accordingly. */ - if (!found) + else { - gtk_tree_model_get_iter_first (model , &iter); - gtk_tree_model_get (model, &iter, 2, &command, -1); - - gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter); - g_free (sd->app); - - sd->app = command; + + sd->app = g_strdup ("none"); } } #endif