Author: alfie Date: 2009-04-02 10:14:31 +0000 (Thu, 02 Apr 2009) New Revision: 9353
Added: packages/trunk/wesnoth/debian/patches/03no-music-endless-loop Modified: packages/trunk/wesnoth/debian/changelog packages/trunk/wesnoth/debian/patches/02wesnoth-nolog-desktop-file packages/trunk/wesnoth/debian/patches/series Log: wesnoth (1:1.6a-3) unstable; urgency=medium * Pull fix for endless loop consuming 100% CPU when no music is installed from upstream r34257. Modified: packages/trunk/wesnoth/debian/changelog =================================================================== --- packages/trunk/wesnoth/debian/changelog 2009-04-02 03:58:59 UTC (rev 9352) +++ packages/trunk/wesnoth/debian/changelog 2009-04-02 10:14:31 UTC (rev 9353) @@ -1,3 +1,10 @@ +wesnoth (1:1.6a-3) unstable; urgency=medium + + * Pull fix for endless loop consuming 100% CPU when no music is installed + from upstream r34257. + + -- Gerfried Fuchs <[email protected]> Thu, 02 Apr 2009 12:06:45 +0200 + wesnoth (1:1.6a-2) unstable; urgency=medium * Install the menu icons from the icons subdirectory instead of symlinking Modified: packages/trunk/wesnoth/debian/patches/02wesnoth-nolog-desktop-file =================================================================== --- packages/trunk/wesnoth/debian/patches/02wesnoth-nolog-desktop-file 2009-04-02 03:58:59 UTC (rev 9352) +++ packages/trunk/wesnoth/debian/patches/02wesnoth-nolog-desktop-file 2009-04-02 10:14:31 UTC (rev 9353) @@ -1,13 +1,13 @@ Author: Gerfried Fuchs <[email protected]> vim:ft=diff: Description: call wesnoth-nolog from desktop file, too -Index: wesnoth-1.5.11/icons/wesnoth.desktop +Index: wesnoth-1.6a/icons/wesnoth.desktop =================================================================== ---- wesnoth-1.5.11.orig/icons/wesnoth.desktop -+++ wesnoth-1.5.11/icons/wesnoth.desktop -@@ -44,6 +44,6 @@ Comment[sk]=Ťahová strategická hra z - Comment[sr]=Фантазијска стратешка игра на потезе +--- wesnoth-1.6a.orig/icons/wesnoth.desktop ++++ wesnoth-1.6a/icons/wesnoth.desktop +@@ -53,6 +53,6 @@ Comment[sr]=Фантазијска ст� comment...@latin]=fantazijska strateška igra na poteze + Comment[tr]=Fantastik, sırayla oynanan bir strateji oyunu Icon=wesnoth-icon.png -Exec=wesnoth +Exec=wesnoth-nolog Added: packages/trunk/wesnoth/debian/patches/03no-music-endless-loop =================================================================== --- packages/trunk/wesnoth/debian/patches/03no-music-endless-loop (rev 0) +++ packages/trunk/wesnoth/debian/patches/03no-music-endless-loop 2009-04-02 10:14:31 UTC (rev 9353) @@ -0,0 +1,88 @@ +Author: shadowmaster vim:ft=diff: +Description: avoid an infinite loop when no music playlist entries are + valid (upstream bug #13250, upstream svn r34257) + +Index: wesnoth-1.6a/src/sound.cpp +=================================================================== +--- wesnoth-1.6a.orig/src/sound.cpp ++++ wesnoth-1.6a/src/sound.cpp +@@ -138,6 +138,8 @@ std::list< sound_cache_chunk > sound_cac + typedef std::list< sound_cache_chunk >::iterator sound_cache_iterator; + std::map<std::string,Mix_Music*> music_cache; + ++struct no_valid_tracks {}; ++ + struct music_track + { + music_track(const std::string &tname); +@@ -186,6 +188,9 @@ struct music_track last_track(""); + + static bool track_ok(const std::string &name) + { ++ if(name.empty()) { ++ return false; ++ } + LOG_AUDIO << "Considering " << name << "\n"; + + // If they committed changes to list, we forget previous plays, but +@@ -246,6 +251,17 @@ static const music_track &choose_track() + { + assert(!current_track_list.empty()); + ++ bool all_invalid = true; ++ foreach(const music_track& mt, current_track_list) { ++ if(!mt.name.empty()) { ++ all_invalid = false; ++ break; ++ } ++ } ++ if(all_invalid) { ++ throw no_valid_tracks(); ++ } ++ + std::string name; + unsigned int track = 0; + +@@ -607,23 +623,28 @@ void play_music_config(const config &mus + + void music_thinker::process(events::pump_info &info) { + if(preferences::music_on()) { +- if(!music_start_time && !current_track_list.empty() && !Mix_PlayingMusic()) { +- // Pick next track, add ending time to its start time. +- current_track = choose_track(); +- music_start_time = info.ticks(); +- no_fading=true; +- fadingout_time=0; +- } ++ try { ++ if(!music_start_time && !current_track_list.empty() && !Mix_PlayingMusic()) { ++ // Pick next track, add ending time to its start time. ++ current_track = choose_track(); ++ music_start_time = info.ticks(); ++ no_fading=true; ++ fadingout_time=0; ++ } + +- if(music_start_time && info.ticks(&music_refresh, music_refresh_rate) >= music_start_time - fadingout_time) { +- want_new_music=true; +- } ++ if(music_start_time && info.ticks(&music_refresh, music_refresh_rate) >= music_start_time - fadingout_time) { ++ want_new_music=true; ++ } + +- if(want_new_music) { +- if(Mix_PlayingMusic()) { +- Mix_FadeOutMusic(fadingout_time); ++ if(want_new_music) { ++ if(Mix_PlayingMusic()) { ++ Mix_FadeOutMusic(fadingout_time); ++ } ++ play_new_music(); + } +- play_new_music(); ++ } ++ catch(no_valid_tracks const&) { ++ current_track_list.clear(); + } + } + } Modified: packages/trunk/wesnoth/debian/patches/series =================================================================== --- packages/trunk/wesnoth/debian/patches/series 2009-04-02 03:58:59 UTC (rev 9352) +++ packages/trunk/wesnoth/debian/patches/series 2009-04-02 10:14:31 UTC (rev 9353) @@ -1 +1,2 @@ 02wesnoth-nolog-desktop-file +03no-music-endless-loop
_______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/pkg-games-commits

