CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 08/01/22 21:04:55
Modified files: . : ChangeLog server : impl.cpp Log message: unregister the render handler, and do so *after* the GC collect runs, clear the movie root before that. This seems to fix both bug #21311 and bug #21310 (segfaults on exit). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5471&r2=1.5472 http://cvs.savannah.gnu.org/viewcvs/gnash/server/impl.cpp?cvsroot=gnash&r1=1.138&r2=1.139 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.5471 retrieving revision 1.5472 diff -u -b -r1.5471 -r1.5472 --- ChangeLog 22 Jan 2008 20:06:43 -0000 1.5471 +++ ChangeLog 22 Jan 2008 21:04:54 -0000 1.5472 @@ -1,5 +1,13 @@ 2008-01-22 Sandro Santilli <[EMAIL PROTECTED]> + * server/impl.cpp (clear): + unregister the render handler, and do so *after* the GC collect + runs, clear the movie root before that. + This seems to fix both bug #21311 and bug #21310 (segfaults + on exit). + +2008-01-22 Sandro Santilli <[EMAIL PROTECTED]> + * server/movie_root.cpp (markReachableResources): don't assume the root movie was registered. Fixes bug #22079. Index: server/impl.cpp =================================================================== RCS file: /sources/gnash/gnash/server/impl.cpp,v retrieving revision 1.138 retrieving revision 1.139 diff -u -b -r1.138 -r1.139 --- server/impl.cpp 21 Jan 2008 20:55:51 -0000 1.138 +++ server/impl.cpp 22 Jan 2008 21:04:54 -0000 1.139 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -/* $Id: impl.cpp,v 1.138 2008/01/21 20:55:51 rsavoye Exp $ */ +/* $Id: impl.cpp,v 1.139 2008/01/22 21:04:54 strk Exp $ */ #ifdef HAVE_CONFIG_H #include "gnashconfig.h" @@ -600,15 +600,24 @@ clear_library(); fontlib::clear(); - // By setting the soundhandler to NULL we avoid it being used - // after it's been de-referenced - set_sound_handler(NULL); + if ( VM::isInitialized() ) + { + VM::get().getRoot().clear(); + } #ifdef GNASH_USE_GC GC::get().collect(); GC::cleanup(); #endif + + // By setting the soundhandler to NULL we avoid it being used + // after it's been de-referenced + set_sound_handler(NULL); + + // By setting the render handler to NULL we avoid it being used + // after it's been de-referenced (fixes bug #21310) + set_render_handler(NULL); } // _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit