<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: Crash at AccessibilityRenderObject::computeAccessibilityIsIgnored const + 552"
href="https://bugs.webkit.org/show_bug.cgi?id=161276#c8">Comment # 8</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: Crash at AccessibilityRenderObject::computeAccessibilityIsIgnored const + 552"
href="https://bugs.webkit.org/show_bug.cgi?id=161276">bug 161276</a>
from <span class="vcard"><a class="email" href="mailto:cfleizach@apple.com" title="chris fleizach <cfleizach@apple.com>"> <span class="fn">chris fleizach</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=161276#c7">comment #7</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=161276#c6">comment #6</a>)
> > Maybe we can just do
> >
> > RenderObject protect(mrenderer)
> >
> > Then access it everywhere with
> >
> > protect.isBR() and likewise with dot operator
> >
>
> Why would this work? A reference is just an alia of the object and the
> object can still be nulled during this function, right? And C++ has
> undefined behavior on null reference, it will also cause crash?</span >
I see a number of examples like this
Ref<Element> protect(*element);
bool successfullyFocused = newDocument->setFocusedElement(element, direction);
It seems however, if we do
RenderObject protect(m_renderer)
and then access protect, as an object that would solve our problem. Our problem is now that the pointer inside m_renderer is bad, but rather what m_renderer points to. If we copy what m_renderer pointed to and use that for the duration of the method, it seems like that would work</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>