aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarry Lu <harry.lu@sun.com>2005-09-28 10:52:46 +0800
committerHarry Lu <haip@src.gnome.org>2005-09-28 10:52:46 +0800
commit994e17ee2203c09e6c057f5830dec513622406b9 (patch)
treea6f899f91d04420de4f6c5aca62e9d70394855e5
parent41e886f9ef5347b5ac40a995d183fa8b4a76d950 (diff)
downloadgsoc2013-evolution-994e17ee2203c09e6c057f5830dec513622406b9.tar.gz
gsoc2013-evolution-994e17ee2203c09e6c057f5830dec513622406b9.tar.zst
gsoc2013-evolution-994e17ee2203c09e6c057f5830dec513622406b9.zip
Fix for #316351
2005-09-27 Harry Lu <harry.lu@sun.com> Fix for #316351 * e-table/gal-a11y-e-cell.c: (idle_do_action), (gal_a11y_e_cell_action_do_action): add a ref/unref pair to make sure the pointer is valid. svn path=/trunk/; revision=30381
-rw-r--r--a11y/ChangeLog8
-rw-r--r--a11y/e-table/gal-a11y-e-cell.c2
2 files changed, 10 insertions, 0 deletions
diff --git a/a11y/ChangeLog b/a11y/ChangeLog
index 5ec8e410dd..66904cd4ee 100644
--- a/a11y/ChangeLog
+++ b/a11y/ChangeLog
@@ -1,3 +1,11 @@
+2005-09-27 Harry Lu <harry.lu@sun.com>
+
+ Fix for #316351
+
+ * e-table/gal-a11y-e-cell.c: (idle_do_action),
+ (gal_a11y_e_cell_action_do_action): add a ref/unref pair to make
+ sure the pointer is valid.
+
2005-08-15 Li Yuan <li.yuan@sun.com>
* e-table/gal-a11y-e-table-item.c: (eti_a11y_reset_focus_object):
diff --git a/a11y/e-table/gal-a11y-e-cell.c b/a11y/e-table/gal-a11y-e-cell.c
index 85d577f8e5..5957938978 100644
--- a/a11y/e-table/gal-a11y-e-cell.c
+++ b/a11y/e-table/gal-a11y-e-cell.c
@@ -423,6 +423,7 @@ idle_do_action (gpointer data)
cell->action_idle_handler = 0;
cell->action_func (cell);
+ g_object_unref (cell);
return FALSE;
}
@@ -443,6 +444,7 @@ gal_a11y_e_cell_action_do_action (AtkAction *action,
if (cell->action_idle_handler)
return FALSE;
cell->action_func = info->do_action_func;
+ g_object_ref (cell);
cell->action_idle_handler = g_idle_add (idle_do_action, cell);
return TRUE;