a11y: Don't create fake cell renderers

This commit is contained in:
Benjamin Otte
2011-11-23 17:54:49 +01:00
parent b72b4e79cf
commit fbfbaa3d50

View File

@ -604,10 +604,10 @@ gtk_tree_view_accessible_ref_child (AtkObject *obj,
renderer_list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col)); renderer_list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
/* If there are more than one renderer in the list, /* If there is not exactly one renderer in the list,
* make a container * make a container
*/ */
if (renderer_list && renderer_list->next) if (renderer_list == NULL || renderer_list->next)
{ {
GtkCellAccessible *container_cell; GtkCellAccessible *container_cell;
@ -628,34 +628,6 @@ gtk_tree_view_accessible_ref_child (AtkObject *obj,
child = NULL; child = NULL;
/* Now we make a fake cell_renderer if there is no cell
* in renderer_list
*/
if (renderer_list == NULL)
{
GtkCellRenderer *fake_renderer;
fake_renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, NULL);
child = _gtk_text_cell_accessible_new ();
cell = GTK_CELL_ACCESSIBLE (child);
renderer_cell = GTK_RENDERER_CELL_ACCESSIBLE (child);
renderer_cell->renderer = fake_renderer;
/* Create the GtkTreeViewAccessibleCellInfo structure for this cell */
cell_info_new (accessible, tree_model, tree, node, tv_col, cell);
_gtk_cell_accessible_initialise (cell, widget, parent);
/* Set state if it is expandable */
if (is_expander)
{
set_cell_expandable (cell);
if (is_expanded)
_gtk_cell_accessible_add_state (cell, ATK_STATE_EXPANDED, FALSE);
}
}
else
{
for (l = renderer_list; l; l = l->next) for (l = renderer_list; l; l = l->next)
{ {
renderer = GTK_CELL_RENDERER (l->data); renderer = GTK_CELL_RENDERER (l->data);
@ -718,7 +690,6 @@ gtk_tree_view_accessible_ref_child (AtkObject *obj,
g_list_free (renderer_list); g_list_free (renderer_list);
if (container) if (container)
child = ATK_OBJECT (container); child = ATK_OBJECT (container);
}
if (expander_tv == tv_col) if (expander_tv == tv_col)
{ {