diff --git a/audacious-2.4.3-id3v1-memleak-AUD-286.patch b/audacious-2.4.3-id3v1-memleak-AUD-286.patch new file mode 100644 index 0000000..7dd3cdf --- /dev/null +++ b/audacious-2.4.3-id3v1-memleak-AUD-286.patch @@ -0,0 +1,29 @@ +diff -Nur audacious-2.4.3-orig/src/libaudtag/id3/id3v1.c audacious-2.4.3/src/libaudtag/id3/id3v1.c +--- audacious-2.4.3-orig/src/libaudtag/id3/id3v1.c 2011-01-12 12:07:37.000000000 +0100 ++++ audacious-2.4.3/src/libaudtag/id3/id3v1.c 2011-01-28 23:31:15.356395589 +0100 +@@ -96,8 +96,7 @@ + gchar *tmp_artist = g_strconcat(artist, convert_to_utf8(read_char_data(f, 60)), NULL); + gchar *tmp_album = g_strconcat(album, convert_to_utf8(read_char_data(f, 60)), NULL); + vfs_fseek(f, -170, SEEK_END); +- gchar *tmp_genre = g_new0(gchar, 30); +- tmp_genre = convert_to_utf8(read_char_data(f, 30)); ++ gchar *tmp_genre = convert_to_utf8(read_char_data(f, 30)); + g_free(title); + g_free(artist); + g_free(album); +@@ -105,13 +104,12 @@ + artist = tmp_artist; + album = tmp_album; + +- if (g_strcmp0(tmp_genre, NULL) == 1) ++ if (tmp_genre != NULL) + { + tuple_associate_string(tuple, FIELD_GENRE, NULL, tmp_genre); + genre_set = TRUE; ++ g_free(tmp_genre); + } +- +- g_free(tmp_genre); + } + + tuple_associate_string(tuple, FIELD_TITLE, NULL, title); diff --git a/audacious-2.4.3-playlist-AUD-285.patch b/audacious-2.4.3-playlist-AUD-285.patch new file mode 100644 index 0000000..b0b620d --- /dev/null +++ b/audacious-2.4.3-playlist-AUD-285.patch @@ -0,0 +1,22 @@ +diff -Nur audacious-2.4.3-orig/src/audacious/playlist-new.c audacious-2.4.3/src/audacious/playlist-new.c +--- audacious-2.4.3-orig/src/audacious/playlist-new.c 2011-01-12 12:07:37.000000000 +0100 ++++ audacious-2.4.3/src/audacious/playlist-new.c 2011-01-28 23:28:26.557658545 +0100 +@@ -1846,14 +1846,14 @@ + if (entries == 0) + return FALSE; + +- if (playlist->position != NULL && playlist->position->queued) ++ /* If we have a song in queue, jump to it, _then_ remove it from queue */ ++ if (playlist->queued != NULL) + { ++ set_position (playlist, playlist->queued->data); ++ + playlist->queued = g_list_remove(playlist->queued, playlist->position); + playlist->position->queued = FALSE; + } +- +- if (playlist->queued != NULL) +- set_position (playlist, playlist->queued->data); + else if (cfg.shuffle) + { + if (! shuffle_next (playlist)) diff --git a/audacious.spec b/audacious.spec index 0ee346e..33c21a2 100644 --- a/audacious.spec +++ b/audacious.spec @@ -11,7 +11,7 @@ Provides: audacious(plugin-api) = %{aud_plugin_api} Name: audacious Version: 2.4.3 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3 Summary: Advanced audio player @@ -22,6 +22,9 @@ Source0: http://distfiles.atheme.org/audacious-%{version}.tgz # Fedora customization (RFE bz #632388) Patch1: audacious-2.4.0-enable-gnomeshortcuts.patch +# post-2.4.3 +Patch2: audacious-2.4.3-playlist-AUD-285.patch +Patch3: audacious-2.4.3-id3v1-memleak-AUD-286.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -90,6 +93,9 @@ api=$(grep '[ ]*#define[ ]*__AUDACIOUS_PLUGIN_API__' src/audacious/plugin.h | se [ "${api}" == "%{aud_plugin_api}" ] || exit -1 %patch1 -p1 -b .enable-gnomeshortcuts +%patch2 -p1 -b .playlist-fix +%patch3 -p1 -b .id3v1-memleak + sed -i '\,^.SILENT:,d' buildsys.mk.in # From .desktop files remove MIME types the base build of the @@ -200,6 +206,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Fri Jan 28 2011 Michael Schwendt - 2.4.3-4 +- Merge fixes for AUD-285, AUD-286. + * Thu Jan 27 2011 Michael Schwendt - 2.4.3-3 - Provide versioned capability audacious(plugin-api) as something much more specific for plugin packages to require.