[gnash/f14/master] Fix rhbz #692779

Hicham HAOUARI hicham at fedoraproject.org
Sat Apr 9 21:20:34 UTC 2011


commit b3aa9ce34436fd7733a0a8851b1638857c3ac08c
Author: Hicham HAOUARI <hicham.haouari at gmail.com>
Date:   Sat Apr 9 22:20:11 2011 +0100

    Fix rhbz #692779

 ...oy-movieroot-before-clearing-moviefactory.patch |   29 ++++++++++++++++++++
 gnash.spec                                         |   11 +++++++-
 2 files changed, 39 insertions(+), 1 deletions(-)
---
diff --git a/gnash-0.8.9-destroy-movieroot-before-clearing-moviefactory.patch b/gnash-0.8.9-destroy-movieroot-before-clearing-moviefactory.patch
new file mode 100644
index 0000000..b382a9e
--- /dev/null
+++ b/gnash-0.8.9-destroy-movieroot-before-clearing-moviefactory.patch
@@ -0,0 +1,29 @@
+X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=gnash.git;a=blobdiff_plain;f=gui%2FPlayer.cpp;h=193dc861d0ffbb8b48e651b5d9d61c50a38da44a;hp=736fcceec0dc8519756468924f18900437375855;hb=3d603f00aa4be917fb6e43f2e265de885127f441;hpb=9794bea6121872eba958d25961bd10c5b901e0ba
+
+diff --git a/gui/Player.cpp b/gui/Player.cpp
+index 736fcce..193dc86 100644
+--- a/gui/Player.cpp
++++ b/gui/Player.cpp
+@@ -496,6 +496,9 @@ Player::run(int argc, char* argv[], cons
+     // Now that we know about movie size, create gui window.
+     _gui->createWindow(_url.c_str(), _width, _height, _xPosition, _yPosition);
+ 
++    { // we construct movie_root in its own scope, to be sure it's destroyed
++      // (bringing down the MovieLoader) before we clear the MovieLibrary
++
+     movie_root root(*_movieDef, _gui->getClock(), *_runResources);
+     
+     _callbacksHandler.reset(new CallbacksHandler(*_gui, *this)); 
+@@ -649,7 +652,10 @@ Player::run(int argc, char* argv[], cons
+ 
+     log_debug("Main loop ended, cleaning up");
+ 
+-    // Clean up as much as possible, so valgrind will help find actual leaks.
++    }
++
++    // Clean up the MovieLibrary so left-over SWFMovieDefinitions
++    // get destroyed and join any loader thread
+     MovieFactory::clear();
+ 
+ }
+
diff --git a/gnash.spec b/gnash.spec
index 39a0e5b..193280e 100644
--- a/gnash.spec
+++ b/gnash.spec
@@ -3,7 +3,7 @@
 
 Name:           gnash
 Version:        0.8.9
-Release:        2%{?dist}
+Release:        3%{?dist}
 Epoch:          1
 Summary:        GNU flash movie player
 
@@ -37,6 +37,11 @@ Requires(preun): /sbin/install-info
 #               http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=c291348
 Patch0:         %{name}-%{version}-fix-handlers-vector-length.patch
 
+#Patch1:        https://bugzilla.redhat.com/show_bug.cgi?id=692779
+#               https://savannah.gnu.org/bugs/?32579
+#               http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=3d603f0
+Patch1:         %{name}-%{version}-destroy-movieroot-before-clearing-moviefactory.patch
+
 %description
 Gnash is capable of reading up to SWF v9 files and op-codes, but primarily
 supports SWF v7, with better SWF v8 and v9 support under heavy development.
@@ -129,6 +134,7 @@ to a MySQL database. The API is similar to the standard MySQL one.
 %prep
 %setup -q
 %patch0 -p1 -b .fix-handlers-vector-length
+%patch1 -p1 -b .destroy-movieroot-before-clearing-moviefactory
 autoreconf -if
 
 %build
@@ -285,6 +291,9 @@ touch --no-create %{_datadir}/icons/hicolor
 %{_libdir}/gnash/plugins/mysql.so
 
 %changelog
+* Sat Apr 09 2011 Hicham HAOUARI <hicham.haouari at gmail.com> - 1:0.8.9-3
+- Fix rhbz #692779
+
 * Wed Mar 30 2011 Hicham HAOUARI <hicham.haouari at gmail.com> - 1:0.8.9-2
 - Fix rhbz #691699
 


More information about the scm-commits mailing list