diff options
author | Matthias Clasen <maclas@gmx.de> | 2004-02-11 01:09:25 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-02-11 01:09:25 +0000 |
commit | 0cd208cfeed23618078473f50178b1ce15aa5371 (patch) | |
tree | f28ad2d8159868a527769822c41399702061a2c6 /gtk | |
parent | 61ced3dfc3363fc7ea32dc3e5264614a971face5 (diff) | |
download | gtk+-0cd208cfeed23618078473f50178b1ce15aa5371.tar.gz |
Remove arbitrary low upper limits on the xpad, ypad, width and height
Wed Feb 11 02:06:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Remove
arbitrary low upper limits on the xpad, ypad, width and height
properties. (#129696, John Ellis)
Wed Feb 11 01:24:20 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear_attributes):
Ugh. Don't try to free ints, even if they're stored in pointers.
(#133997, Morten Welinder)
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkcellrenderer.c | 8 | ||||
-rw-r--r-- | gtk/gtkcombobox.c | 30 |
2 files changed, 28 insertions, 10 deletions
diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index dd721233a3..5c47b18dd0 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -191,7 +191,7 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class) P_("xpad"), P_("The xpad"), 0, - 100, + G_MAXUINT, 2, G_PARAM_READABLE | G_PARAM_WRITABLE)); @@ -202,7 +202,7 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class) P_("ypad"), P_("The ypad"), 0, - 100, + G_MAXUINT, 2, G_PARAM_READABLE | G_PARAM_WRITABLE)); @@ -213,7 +213,7 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class) P_("width"), P_("The fixed width"), -1, - 100, + G_MAXINT, -1, G_PARAM_READABLE | G_PARAM_WRITABLE)); @@ -224,7 +224,7 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class) P_("height"), P_("The fixed height"), -1, - 100, + G_MAXINT, -1, G_PARAM_READABLE | G_PARAM_WRITABLE)); diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 54a8450594..19fce2eff4 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -2139,7 +2139,8 @@ gtk_combo_box_cell_layout_clear (GtkCellLayout *layout) { GtkWidget *menu; GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - + GSList *i; + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); if (combo_box->priv->cell_view) @@ -2148,6 +2149,17 @@ gtk_combo_box_cell_layout_clear (GtkCellLayout *layout) if (combo_box->priv->column) gtk_tree_view_column_clear (combo_box->priv->column); + for (i = combo_box->priv->cells; i; i = i->next) + { + ComboCellInfo *info = (ComboCellInfo *)i->data; + + gtk_combo_box_cell_layout_clear_attributes (layout, info->cell); + g_object_unref (G_OBJECT (info->cell)); + g_free (info); + } + g_slist_free (combo_box->priv->cells); + combo_box->priv->cells = NULL; + menu = combo_box->priv->popup_widget; if (GTK_IS_MENU (menu)) { @@ -2286,6 +2298,7 @@ gtk_combo_box_cell_layout_clear_attributes (GtkCellLayout *layout, ComboCellInfo *info; GtkComboBox *combo_box = GTK_COMBO_BOX (layout); GtkWidget *menu; + GSList *list; g_return_if_fail (GTK_IS_COMBO_BOX (layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); @@ -2293,7 +2306,12 @@ gtk_combo_box_cell_layout_clear_attributes (GtkCellLayout *layout, info = gtk_combo_box_get_cell_info (combo_box, cell); g_return_if_fail (info != NULL); - g_slist_foreach (info->attributes, (GFunc)g_free, NULL); + list = info->attributes; + while (list && list->next) + { + g_free (list->data); + list = list->next->next; + } g_slist_free (info->attributes); info->attributes = NULL; @@ -2878,10 +2896,10 @@ gtk_combo_box_finalize (GObject *object) gtk_widget_destroy (combo_box->priv->popup_window); if (combo_box->priv->model) - g_object_unref (combo_box->priv->model); + g_object_unref (combo_box->priv->model); - g_slist_foreach (combo_box->priv->cells, (GFunc)g_free, NULL); - g_slist_free (combo_box->priv->cells); + g_slist_foreach (combo_box->priv->cells, (GFunc)g_free, NULL); + g_slist_free (combo_box->priv->cells); - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (parent_class)->finalize (object); } |