Re: [evolution-patches] [gal]#52935, evo-1.5 sometime crashes when click on the message list




Something really minor:

+       cell = atk_table_ref_at (ATK_TABLE (a11y), row, col);
+       if (cell != NULL) {
+               if (ATK_IS_OBJECT (cell)) {
+                       gal_a11y_e_cell_add_state(cell, ATK_STATE_FOCUSED, FALSE);
+                       atk_focus_tracker_notify (cell);
+               }
+       }

more readable (to me):
    if (cell != NULL && ATK_IS_OBJECT(cell)) {
        ...
    }

Other than that, really no idea.  Is anyone ever going to approve this patch?  Who is maintaining GAL now?

Michael

On Sun, 2004-04-11 at 16:53 +0800, Eric Zhao wrote:
Hi, 
   Attached is a patch which fixed bug #52935. This is a very critical
bug, which caused a lot of crash when having accessibility enabled.

   This bug can be reproduced by the following steps:
1. start evolution with a11y enabled
2. goto a mail folder with few messages
3. click on the message.
4. switch to another folder which contains a lot of messages, click to
the message list several times, then evolution will goto crash at most
times.

The bug is caused by the following reason:
the cell_data pointer (used to the retrieve the AtkObject of table
cell)  is initialize the first folder is accessed, when switched to
another folder, the cell_data pointer keeps the original value ( The
cell_data pointer's value should change, but it didn't. )  

Then if we access a message out of the first folder's range(in another
folder), the AtkObject which we get via cell_data pointer is invalid,
and a SIGSEGV signal is raised.

Since we can't figure out which messages have been changed when the 
message-list is changed(when deleting a message, inserting a new message, 
switching mail folder, etc.), so we have to clear all the AtkObjects stored 
in the cell_data, and reinit it the next time we access it. As the clearing 
operation will cause a noticeable latency when the current-folder contains 
a lot of mails, this is not a very good solution, but it can just work.

--
Regards,
Eric
Michael Zucchi <notzed ximian com>

Ximian Evolution Software Developer


Novell, Inc.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]