summaryrefslogtreecommitdiff
path: root/modules/other
diff options
context:
space:
mode:
authorLi Yuan <li.yuan@sun.com>2008-12-12 06:12:27 +0000
committerLi Yuan <liyuan@src.gnome.org>2008-12-12 06:12:27 +0000
commit185529d2f88a5362bc175787940e3cc44d94ff1f (patch)
tree6c54c5027ab2471b33a19904e8a3e9d2a6bc834d /modules/other
parent2b31f26827550e99836e54455538a5ca10b01cba (diff)
downloadgdk-pixbuf-185529d2f88a5362bc175787940e3cc44d94ff1f.tar.gz
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
Diffstat (limited to 'modules/other')
-rw-r--r--modules/other/gail/ChangeLog9
-rw-r--r--modules/other/gail/gailtreeview.c4
2 files changed, 12 insertions, 1 deletions
diff --git a/modules/other/gail/ChangeLog b/modules/other/gail/ChangeLog
index 5157c33b4..4066062b1 100644
--- a/modules/other/gail/ChangeLog
+++ b/modules/other/gail/ChangeLog
@@ -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
diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c
index b7d6ae00e..6a8edb455 100644
--- a/modules/other/gail/gailtreeview.c
+++ b/modules/other/gail/gailtreeview.c
@@ -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) {