Blob Blame History Raw
From ed82695ebbc47de9f66e3cf7e78a71b16b32d58e Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <teuf@gnome.org>
Date: Sat, 4 Sep 2010 17:59:37 +0200
Subject: [PATCH 2/2] Revert "Fix for creation of blank playlist on 80GB ipod video"

This reverts commit 1252bc0e18c396b2cb5e1bd5369f17403ca181aa.

On an iPod Video with 1.2.1 firmware:
-  With 1252bc0, no songs, no videos, no playlists at
all (except the On-the-go playlist)
-  Before 1252bc0, songs/videos/playlists are visible, but
there is an additional unnamed blank music playlist.

With latest firmware, none of these issues show up. The blank playlist
bug is better than the empty ipod bug, so let's revert to the earlier
behaviour and if someone encounters the blank playlist issue, we just
have to remember to tell him to update his firmware. For the record,
it seems only writing 4 mhsds on an iPod Video with firmware 1.2.1
avoids these 2 issues too.
---
 src/itdb_itunesdb.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c
index e473fb2..5041676 100644
--- a/src/itdb_itunesdb.c
+++ b/src/itdb_itunesdb.c
@@ -5761,15 +5761,6 @@ static gboolean itdb_write_file_internal (Itdb_iTunesDB *itdb,
 	goto err;
     }
 
-    /* write albums (mhsd type 4) */
-    if (!write_mhsd_albums (fexp)) {
-        g_set_error (&fexp->error,
-                    ITDB_FILE_ERROR,
-                    ITDB_FILE_ERROR_ITDB_CORRUPT,
-                    _("Error writing list of albums (mhsd type 4)"));
-        goto err;
-    }
-
     /* write special podcast version mhsd (mhsd type 3) */
     if (!fexp->error && !write_mhsd_playlists (fexp, 3)) {
 	g_set_error (&fexp->error,
@@ -5787,6 +5778,14 @@ static gboolean itdb_write_file_internal (Itdb_iTunesDB *itdb,
 	goto err;
     }
 
+    /* write albums (mhsd type 4) */
+    if (!write_mhsd_albums (fexp)) {
+	g_set_error (&fexp->error,
+		     ITDB_FILE_ERROR,
+		     ITDB_FILE_ERROR_ITDB_CORRUPT,
+		     _("Error writing list of albums (mhsd type 4)"));
+	goto err;
+    }
     /* write artists (mhsd type 8) */
     if (!fexp->error && !write_mhsd_artists (fexp)) {
 	g_set_error (&fexp->error,
-- 
1.7.2.2