Bug #512743. (gail_tree_view_changed_gtk): Clean cell before go through

2008-12-12  Li Yuan  <li.yuan@sun.com>

        * gailtreeview.c: Bug #512743.
        (gail_tree_view_changed_gtk): Clean cell before go through the info
        list, for "changed" signal could come before a "row-deleted".
        (clean_cell_info):
        Prevent the thread to be scheduled before clean_cell_info
        finish its job.

svn path=/trunk/; revision=21872
This commit is contained in:
Li Yuan 2008-12-12 06:12:27 +00:00 committed by Li Yuan
parent 2b31f26827
commit 185529d2f8
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2008-12-12 Li Yuan <li.yuan@sun.com>
* gailtreeview.c: Bug #512743.
(gail_tree_view_changed_gtk): Clean cell before go through the info
list, for "changed" signal could come before a "row-deleted".
(clean_cell_info):
Prevent the thread to be scheduled before clean_cell_info
finish its job.
2008-12-09 Michael Natterer <mitch@imendio.com>
* Makefile.am

View File

@ -2422,6 +2422,8 @@ gail_tree_view_changed_gtk (GtkTreeSelection *selection,
tree_selection = gtk_tree_view_get_selection (tree_view);
clean_rows (gailview);
for (l = cell_list; l; l = l->next)
{
info = (GailTreeViewCellInfo *) (l->data);
@ -3529,7 +3531,7 @@ clean_cell_info (GailTreeView *gailview,
if (cell_info->in_use) {
obj = G_OBJECT (cell_info->cell);
gail_cell_add_state (cell_info->cell, ATK_STATE_DEFUNCT, TRUE);
gail_cell_add_state (cell_info->cell, ATK_STATE_DEFUNCT, FALSE);
g_object_weak_unref (obj, (GWeakNotify) cell_destroyed, cell_info);
cell_info->in_use = FALSE;
if (!gailview->garbage_collection_pending) {