Remove almost all instances of GtkCellRenderer in code (all but dnd icon

Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
	instances of GtkCellRenderer in code (all but dnd icon code).
	Virtualized in GtkTreeViewColumn.  Now I need to move focus in
	there, and I can do multiple Cells per column.

	* gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly

	* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
	when model was unreffed prior to removing the row reference.
This commit is contained in:
Jonathan Blandford
2001-05-25 23:10:49 +00:00
committed by Jonathan Blandford
parent e05472202d
commit 710fb020bf
14 changed files with 415 additions and 210 deletions

View File

@ -1407,6 +1407,8 @@ gtk_tree_row_reference_new_proxy (GObject *proxy,
reference = g_new (GtkTreeRowReference, 1);
g_object_ref (proxy);
g_object_ref (model);
reference->proxy = proxy;
reference->model = model;
reference->path = gtk_tree_path_copy (path);
@ -1452,27 +1454,26 @@ gtk_tree_row_reference_free (GtkTreeRowReference *reference)
g_return_if_fail (reference != NULL);
if (reference->proxy)
refs = g_object_get_data (G_OBJECT (reference->proxy), ROW_REF_DATA_STRING);
if (refs == NULL)
{
refs = g_object_get_data (G_OBJECT (reference->proxy), ROW_REF_DATA_STRING);
if (refs == NULL)
{
g_warning (G_STRLOC": bad row reference, proxy has no outstanding row references");
return;
}
refs->list = g_slist_remove (refs->list, reference);
if (refs->list == NULL)
{
disconnect_ref_callbacks (reference->model);
g_object_set_data (G_OBJECT (reference->proxy),
ROW_REF_DATA_STRING,
NULL);
}
g_warning (G_STRLOC": bad row reference, proxy has no outstanding row references");
return;
}
refs->list = g_slist_remove (refs->list, reference);
if (refs->list == NULL)
{
disconnect_ref_callbacks (reference->model);
g_object_set_data (G_OBJECT (reference->proxy),
ROW_REF_DATA_STRING,
NULL);
}
g_object_unref (reference->proxy);
g_object_unref (reference->model);
if (reference->path)
gtk_tree_path_free (reference->path);