r36348 - in /desktop/unstable/gvfs/debian: changelog patches/02_cdda_cdtext_utf8.patch patches/series
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Sun Nov 25 15:25:31 UTC 2012
Author: joss
Date: Sun Nov 25 15:25:30 2012
New Revision: 36348
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=36348
Log:
02_cdda_cdtext_utf8.patch: stolen from upstream git. Make CD-Text
work with non-ASCII characters. Closes: #610868.
Added:
desktop/unstable/gvfs/debian/patches/02_cdda_cdtext_utf8.patch
Modified:
desktop/unstable/gvfs/debian/changelog
desktop/unstable/gvfs/debian/patches/series
Modified: desktop/unstable/gvfs/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gvfs/debian/changelog?rev=36348&op=diff
==============================================================================
--- desktop/unstable/gvfs/debian/changelog [utf-8] (original)
+++ desktop/unstable/gvfs/debian/changelog [utf-8] Sun Nov 25 15:25:30 2012
@@ -1,3 +1,10 @@
+gvfs (1.12.3-2) UNRELEASED; urgency=low
+
+ * 02_cdda_cdtext_utf8.patch: stolen from upstream git. Make CD-Text
+ work with non-ASCII characters. Closes: #610868.
+
+ -- Josselin Mouette <joss at debian.org> Sun, 25 Nov 2012 16:24:36 +0100
+
gvfs (1.12.3-1) unstable; urgency=low
* New upstream release.
Added: desktop/unstable/gvfs/debian/patches/02_cdda_cdtext_utf8.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gvfs/debian/patches/02_cdda_cdtext_utf8.patch?rev=36348&op=file
==============================================================================
--- desktop/unstable/gvfs/debian/patches/02_cdda_cdtext_utf8.patch (added)
+++ desktop/unstable/gvfs/debian/patches/02_cdda_cdtext_utf8.patch [utf-8] Sun Nov 25 15:25:30 2012
@@ -1,0 +1,65 @@
+Description: cdda: Fix abort() with CD-Text outside ASCII
+CD-Text doesn't specify encoding, but in practice some discs have strings with extended characters. Using those directly will make D-Bus choke with invalid data. Fixed by assuming latin-1. This also fixes a memory leak in the cdtext_get() usage.
+
+Author: Pekka Vuorela <pvuorela at iki.fi>
+Origin: upstream, http://git.gnome.org/browse/gvfs/commit/?id=5624012821836136ad38abea00469865f6e7d616
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=671259
+Bug-Debian: http://bugs.debian.org/610868
+Bug-Ubuntu: https://launchpad.net/bugs/819304
+Forwarded: not-needed
+Reviewed-By: Bastien Nocera <hadess at hadess.net>
+Last-Update: 2012-07-09
+
+--- gvfs-1.12.3.orig/daemon/gvfsbackendcdda.c
++++ gvfs-1.12.3/daemon/gvfsbackendcdda.c
+@@ -158,6 +158,13 @@ release_metadata (GVfsBackendCdda *cdda_
+ cdda_backend->tracks = NULL;
+ }
+
++static char *
++cdtext_string_to_utf8 (const char *string)
++{
++ /* CD-text doesn't specify encoding. In case outside ascii, assume latin-1. */
++ return g_convert (string, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
++}
++
+ static void
+ fetch_metadata (GVfsBackendCdda *cdda_backend)
+ {
+@@ -171,9 +178,9 @@ fetch_metadata (GVfsBackendCdda *cdda_ba
+
+ cdtext = cdio_get_cdtext(cdio, 0);
+ if (cdtext) {
+- cdda_backend->album_title = g_strdup (cdtext_get (CDTEXT_TITLE, cdtext));
+- cdda_backend->album_artist = g_strdup (cdtext_get (CDTEXT_PERFORMER, cdtext));
+- cdda_backend->genre = g_strdup (cdtext_get (CDTEXT_GENRE, cdtext));
++ cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
++ cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
++ cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_GENRE, cdtext));
+ }
+
+ cdtrack = cdio_get_first_track_num(cdio);
+@@ -184,8 +191,8 @@ fetch_metadata (GVfsBackendCdda *cdda_ba
+ track = g_new0 (GVfsBackendCddaTrack, 1);
+ cdtext = cdio_get_cdtext(cdio, cdtrack);
+ if (cdtext) {
+- track->title = g_strdup (cdtext_get (CDTEXT_TITLE, cdtext));
+- track->artist = g_strdup (cdtext_get (CDTEXT_PERFORMER, cdtext));
++ track->title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
++ track->artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
+ }
+ track->duration = cdio_get_track_sec_count (cdio, cdtrack) / CDIO_CD_FRAMES_PER_SEC;
+
+@@ -961,8 +968,10 @@ do_query_info (GVfsBackend *backend,
+ g_file_info_set_display_name (info, _("Audio Disc")); /* TODO: fill in from metadata */
+ g_file_info_set_file_type (info, G_FILE_TYPE_DIRECTORY);
+ g_file_info_set_content_type (info, "inode/directory");
+- SET_INFO ("xattr::org.gnome.audio.title", cdda_backend->album_title);
+- SET_INFO ("xattr::org.gnome.audio.artist", cdda_backend->album_artist);
++ if (cdda_backend->album_title)
++ SET_INFO ("xattr::org.gnome.audio.title", cdda_backend->album_title);
++ if (cdda_backend->album_artist)
++ SET_INFO ("xattr::org.gnome.audio.artist", cdda_backend->album_artist);
+ SET_INFO ("xattr::org.gnome.audio.genre", cdda_backend->genre);
+ g_file_info_set_size (info, 0);
+ icon = g_themed_icon_new ("folder");
Modified: desktop/unstable/gvfs/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gvfs/debian/patches/series?rev=36348&op=diff
==============================================================================
--- desktop/unstable/gvfs/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gvfs/debian/patches/series [utf-8] Sun Nov 25 15:25:30 2012
@@ -1,4 +1,5 @@
01_modules_dir.patch
+02_cdda_cdtext_utf8.patch
03_xdg-mount.patch
04_hurd_path_max.patch
05_shared_libdaemon.patch
More information about the pkg-gnome-commits
mailing list