[gtk/gbsneto/fix-filechooserwidget-choices: 2/2] filechooserwidget: Return and id in get_choice()




commit ebb669e4b0b86cf04994d0b429118c022c3a1c58
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sat Sep 18 00:17:36 2021 -0300

    filechooserwidget: Return and id in get_choice()
    
    gtk_file_chooser_widget_get_choice() is supposed to return the option
    id of the choice, but it currently is returning the option label.
    
    Return the option id instead.

 gtk/gtkfilechooserwidget.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 88e08c171b..a2310f35d8 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -8060,10 +8060,13 @@ gtk_file_chooser_widget_get_choice (GtkFileChooser  *chooser,
   widget = (GtkWidget *)g_hash_table_lookup (impl->choices, id);
   if (GTK_IS_DROP_DOWN (widget))
     {
-      gpointer selected = gtk_drop_down_get_selected_item (GTK_DROP_DOWN (widget));
-      if (GTK_IS_STRING_OBJECT (selected))
-        return gtk_string_object_get_string (GTK_STRING_OBJECT (selected));
-      return NULL;
+      const char **options;
+      guint selected;
+
+      options = (const char **) g_object_get_data (G_OBJECT (widget), "options");
+      selected = gtk_drop_down_get_selected (GTK_DROP_DOWN (widget));
+
+      return options[selected];
     }
   else if (GTK_IS_CHECK_BUTTON (widget))
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]