Closed
Bug 363924
Opened 18 years ago
Closed 18 years ago
atk_bridge_init should not be called twice
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ginnchen+exoracle, Assigned: ginnchen+exoracle)
References
Details
(Keywords: access)
Attachments
(1 file)
8.02 KB,
patch
|
aaronlev
:
review+
|
Details | Diff | Splinter Review |
call atk_bridge_init twice will cause coredump
(perhaps it's a bug of atk-bridge)
I found sometimes when user is closing Gecko, Mozilla a11y module will Init() again after Shutdown()
That will cause coredump.
I think we should add a protection.
atk-bridge registered an exit function to clean up.
Gnome application won't call shutdown function for either atk-bridge or gail.
We can follow this rule to avoid crashes or asserts.
Summary: atk_bridge_init cannot be called twice → atk_bridge_init should not be called twice
1) Add sInitialized to avoid re-create and re-initialize AppRootAccessible after shutdown.
e.g. atk_get_root will try to do that.
2) Do not call atk-bridge.shutdown(), gail.shutdown(), see code comments
3) After a11y shutdown, use gail's get_root to avoid an assert in spi_atk_tidy_windows() (bridge.c)
It's tricky, atk-brdige tries to clean up windows on exit, if we return null for get_root, it will assert.
So we give it a valid value created by gail.
It's not a problem, because we clean up windows by ourself before shutdown.
4) Remove the out-dated debug code. (DumpMaiObjectInfo)
Attachment #250937 -
Flags: review?(aaronleventhal)
Updated•18 years ago
|
Attachment #250937 -
Flags: review?(aaronleventhal) → review+
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•