Well, it only took a couple hours after my cleanup push to run into
a reproducible segfault.
I tracked it down to an AutoCompartment call.
Remember I said they were all gone; there is one that we actually need in 
html.cpp,
just before we destroy the object associated with the tag.
It's part of freeWindow().
Naturally I used the same old line,
but that sets the compartment of the current window;
we are not always freeing the current window.
q5 will quit session 5, for example.
So this is the only AutoCompartment that is not based on cw.
I fixed this and the segfault went away.

A question for you in jsdom.cpp function domLink().
This line

        JS::RootedObject owner_root(cw->jss->jcx, owner);

Then you use owner_root instead of owner thereafter.
Is this necessary?
owner is safely rooted on the heap and isn't going to go anywhere.
We could just use owner throughout and it would be much clearer.

Karl Dahlke
_______________________________________________
Edbrowse-dev mailing list
[email protected]
http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev

Reply via email to