Commit b613cc64 authored by Matthias Clasen's avatar Matthias Clasen

Don't add a second cell renderer

When has-entry is TRUE, GtkComboBox already adds a cell renderer
for the text column, so avoid adding a second one in GtkComboBoxText.

https://bugzilla.gnome.org/show_bug.cgi?id=632381
parent 8d456e3c
......@@ -43,28 +43,50 @@
G_DEFINE_TYPE (GtkComboBoxText, gtk_combo_box_text, GTK_TYPE_COMBO_BOX);
static void
gtk_combo_box_text_class_init (GtkComboBoxTextClass *klass)
static GObject *
gtk_combo_box_text_constructor (GType type,
guint n_construct_properties,
GObjectConstructParam *construct_properties)
{
GObject *object;
object = G_OBJECT_CLASS (gtk_combo_box_text_parent_class)->constructor
(type, n_construct_properties, construct_properties);
if (!gtk_combo_box_get_has_entry (GTK_COMBO_BOX (object)))
{
GtkCellRenderer *cell;
cell = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), cell, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (object), cell,
"text", 0,
NULL);
}
return object;
}
static void
gtk_combo_box_text_init (GtkComboBoxText *combo_box)
{
GtkListStore *store;
GtkCellRenderer *cell;
store = gtk_list_store_new (1, G_TYPE_STRING);
gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box), GTK_TREE_MODEL (store));
g_object_unref (store);
}
cell = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), cell, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), cell,
"text", 0,
NULL);
static void
gtk_combo_box_text_class_init (GtkComboBoxTextClass *klass)
{
GObjectClass *object_class;
object_class = (GObjectClass *)klass;
object_class->constructor = gtk_combo_box_text_constructor;
}
/**
* gtk_combo_box_text_new:
*
......@@ -83,7 +105,6 @@ gtk_combo_box_text_new (void)
NULL);
}
/**
* gtk_combo_box_text_new_with_entry:
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment