Adam Thompson <[email protected]> writes: > In addition I think we need to change the establish_property_* functions to > take > JS::Handle and js::MutableHandle arguments.
Yes, I think so, but this is going to cause problems, since other functions in html.c call establish_property_*, and those don't know about C++ types. But you're on to something... The rooting guide [1] says that we should basically never use raw pointers. Why? Because Spidermonkey doesn't know about them, and it will happily invalidate them during a garbage collection. But we're using them a lot. Here's a stretch of code that could crash the program. It starts at line 544 of html.c and ends at line 564. e is a raw pointer to something in the JS heap, and each one of those establish_property_* calls could move it. So I think it might be time to make html.c compilable with g++ and move over to the appropriate SpiderMonkey types. I'm willing to do this work if you need a break. -- Chris _______________________________________________ Edbrowse-dev mailing list [email protected] http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev
