Closed
Bug 793316
Opened 13 years ago
Closed 13 years ago
mai_util_get_root() called before nsAccessiblityService::Shutdown is set to false
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
mozilla18
People
(Reporter: tbsaunde, Assigned: tbsaunde)
References
Details
Attachments
(1 file)
|
1.23 KB,
patch
|
surkov
:
review+
|
Details | Diff | Splinter Review |
after bug 767754 we call ApplicationAccessibleWrap::Init() before setting setting sShutdown to false. THen ApplicationAccessibleWrap::Init() calls atk_bridge_adaptor_init which calls atk_util_get_root() which calls mai_util_get_root() which checks sShutdown and since it thinks accessibility is shutdown returns gail_get_get_root() or just nullptr either way its the wrong thing.
Comment 1•13 years ago
|
||
Oh, lazy instantiation worked here. Thank you for taking it.
| Assignee | ||
Comment 2•13 years ago
|
||
Attachment #663636 -
Flags: review?(surkov.alexander)
| Assignee | ||
Comment 3•13 years ago
|
||
(In reply to alexander :surkov from comment #1)
> Oh, lazy instantiation worked here. Thank you for taking it.
yeah, we were getting lucky.
I took it because I want my browser to work again ;)
Comment 4•13 years ago
|
||
Comment on attachment 663636 [details] [diff] [review]
patch
Review of attachment 663636 [details] [diff] [review]:
-----------------------------------------------------------------
::: accessible/src/atk/ApplicationAccessibleWrap.cpp
@@ +441,3 @@
>
> + // We've shutdown, try to use gail instead
> + // (to avoid assert in spi_atk_tidy_windows())
I like we don't reenter while we are initializing and I assume a client is ok our root varies (when we are initializing then it is gail rool, when we are initialized then it is app acc).
Please change comment to 'We've shutdown or we are starting up'. It'd be nicer if you use all 80 chars per line.
Attachment #663636 -
Flags: review?(surkov.alexander) → review+
Comment 5•13 years ago
|
||
(In reply to Trevor Saunders (:tbsaunde) from comment #3)
> (In reply to alexander :surkov from comment #1)
> > Oh, lazy instantiation worked here. Thank you for taking it.
>
> yeah, we were getting lucky.
>
> I took it because I want my browser to work again ;)
selfish interest is engine of the progress too :)
| Assignee | ||
Comment 6•13 years ago
|
||
(In reply to alexander :surkov from comment #4)
> Comment on attachment 663636 [details] [diff] [review]
> patch
>
> Review of attachment 663636 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: accessible/src/atk/ApplicationAccessibleWrap.cpp
> @@ +441,3 @@
> >
> > + // We've shutdown, try to use gail instead
> > + // (to avoid assert in spi_atk_tidy_windows())
>
> I like we don't reenter while we are initializing and I assume a client is
> ok our root varies (when we are initializing then it is gail rool, when we
> are initialized then it is app acc).
>
> Please change comment to 'We've shutdown or we are starting up'. It'd be
> nicer if you use all 80 chars per line.
actually, this function can't be called before atk/ApplicationAccessibleWrap.cpp:951 at which point we already have an application accessible.
Comment 7•13 years ago
|
||
Ok, I see. Perhaps I'd move shutdown = false before we set up the application accessible since it looks closer to what we had.
| Assignee | ||
Comment 8•13 years ago
|
||
(In reply to alexander :surkov from comment #7)
> Ok, I see. Perhaps I'd move shutdown = false before we set up the
> application accessible since it looks closer to what we had.
I thought about that, but it seems riskier since I'd need to make sure nothing else has weird dependancies on the precise ordering of all this stuff.
Comment 9•13 years ago
|
||
ok, makes sense
| Assignee | ||
Comment 10•13 years ago
|
||
Comment 11•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
Comment 12•13 years ago
|
||
+ // We've shutdown, try to use gail instead
+ // (to avoid assert in spi_atk_tidy_windows())
+ // XXX tbsaunde then why didn't we replace the gail atk_util impl?
We did replace the gail atk util impl, that's why we're here.
spi_atk_tidy_windows() is in bridge.
It seems we may not need this hack in newer GNOME.
See:
https://bugzilla.gnome.org/show_bug.cgi?id=548559
You need to log in
before you can comment on or make changes to this bug.
Description
•