gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/impl.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/impl.cpp
Date: Tue, 22 Jan 2008 21:04:55 +0000

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 <address@hidden>
 
+       * 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 <address@hidden>
+
        * 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);
 }
 
 //




reply via email to

[Prev in Thread] Current Thread [Next in Thread]