Hello,

I have been looking into a fix for the bug #429445 regarding
persistent tooltips.
https://bugzilla.mozilla.org/show_bug.cgi?id=429445

Debugging nsEventStateManager.cpp, we've found that in the situation
when the
bug repros, NotifyMouseOut() is getting called for a *different
instance* of
nsEventStateManager than what the corresponding NotifyMouseOver() got
called
for.  The result is that the check at the beginning of
NotifyMouseOut() finds
that mLastMouseOverElement is null and bails.

That having said, nsEventStateManager is not a singleton; there are
different instances for
different "contexts" - which explains why the bug will only repro when
the sidebar is open,
and another context is added.

I'm guessing that NotifyMouseOver() gets called for the instance of
nsEventStateManager associated with the browser chrome, whereas
NotifyMouseOut() gets called for an instance associated with the
tooltip
itself.

Any insight to this problem would be greatly appreciated.

Thanks in advance,

Dylan Sproule
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to