[g-a-devel]Gail Crashes
- From: Marc Mulcahy <marc mulcahy sun com>
- To: gnome-accessibility-devel gnome org
- Subject: [g-a-devel]Gail Crashes
- Date: Fri, 29 Mar 2002 20:18:43 -0700
Hi All,
There are some crashes in Gail related to a bug I introduced that have
become more frequent with the introduction of the idle handler for focusing
menu items. So, there are two problems I see:
1. We cache the object which had the focus before the menubar got it so we
can fake a focus event to it after the menu bar is deactivated. And, if
that object happens to be gone, as a result of clicking the "exit
application" menu item for example, we understandably blow up all the way
through the stack.
2. In some cases we're setting an idle handler to send an ATK focus event
when called. But, this isn't guaranteed to work either, since the item may
have been destroyed before the idle handler is called. A possible solution
seems to be:
In the notify_focus_when_idle function, we should install a signal handler
for destroy signals on the widget which is to receive focus, passing in as
the user_data a pointer to the widget pointer. If the destroy handler gets
called, we NULL the widget pointer, and then in the idle handler, if the
pointer is NULL, do nothing.
Is this guarantied to work? Are there cases where an application's main
window is destroyed before the menubar is deactivated, in which case the
destroy handler would never be installed and we would have the same problem
of sending Atk focus events on behalf of GTK widgets which are gone?
Marc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]