diff --git a/abuse.spec b/abuse.spec index 8835388..3b130c0 100644 --- a/abuse.spec +++ b/abuse.spec @@ -1,6 +1,6 @@ Name: abuse Version: 0.7.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The classic Crack-Dot-Com game Group: Amusements/Games License: GPL @@ -8,6 +8,7 @@ URL: http://www.labyrinth.net.au/~trandor/abuse/ Source0: http://www.labyrinth.net.au/~trandor/files/abuse_sdl-%{version}.tar.bz2 Patch0: abuse_sdl-0.7.0-debian.patch Patch1: abuse_sdl-0.7.0-fixes.patch +Patch2: abuse_sdl-0.7.0-exit-intro-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ImageMagick SDL-devel alsa-lib-devel libGLU-devel Requires: abuse-data @@ -21,6 +22,7 @@ a window or fullscreen and it has stereo sound with sound panning. %setup -q -n abuse_sdl-%{version} %patch0 -p1 -z .deb %patch1 -p1 -z .fix +%patch2 -p1 -z .intro %build @@ -63,5 +65,9 @@ fi %changelog +* Thu Aug 24 2006 Hans de Goede 0.7.0-2 +- Fix abuse from crashing on exit when you try to close the window while the + intro is still playing + * Wed Aug 16 2006 Hans de Goede 0.7.0-1 - Initial FE submission diff --git a/abuse_sdl-0.7.0-exit-intro-crash.patch b/abuse_sdl-0.7.0-exit-intro-crash.patch new file mode 100644 index 0000000..7c7e44a --- /dev/null +++ b/abuse_sdl-0.7.0-exit-intro-crash.patch @@ -0,0 +1,20 @@ +--- abuse_sdl-0.7.0/src/game.cpp.shit 2006-08-24 16:39:45.000000000 +0200 ++++ abuse_sdl-0.7.0/src/game.cpp 2006-08-24 16:43:22.000000000 +0200 +@@ -1269,9 +1269,14 @@ + if( DEFINEDP( logo_snd ) && ( sound_avail & SFX_INITIALIZED ) ) + cash.sfx( lnumber_value( logo_snd ) )->play( sfx_volume ); + +- image blank( 2, 2 ); +- blank.clear(); +- eh->set_mouse_shape( blank.copy(), 0, 0 ); // don't show mouse ++ /* This must be a dynamic allocated image because if it ++ is not and the window gets closed during do_title, then ++ exit() will try to delete (through the desctructor of ++ image_list in image.cpp) the image on the stack -> boom. */ ++ image *blank = new image( 2, 2 ); ++ blank->clear(); ++ eh->set_mouse_shape( blank->copy(), 0, 0 ); // don't show mouse ++ delete blank; + fade_in( cash.img( cdc_logo ), 32 ); + + milli_wait( 900 );