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