diff --git a/src/itdb_artwork.c b/src/itdb_artwork.c index d7211e2..b0eecc9 100644 --- a/src/itdb_artwork.c +++ b/src/itdb_artwork.c @@ -867,6 +867,7 @@ gpointer itdb_thumb_ipod_item_to_pixbuf (Itdb_Device *device, gint pad_y = item->vertical_padding; gint width = item->width; gint height = item->height; + guint rowstride; const Itdb_ArtworkFormat *img_info = item->format; guchar *pixels; @@ -883,12 +884,17 @@ gpointer itdb_thumb_ipod_item_to_pixbuf (Itdb_Device *device, return NULL; } + if (img_info->format_id == 3106) { + rowstride = 336; + } else { + rowstride = img_info->width*3; + } pixbuf_full = gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, FALSE, 8, img_info->width, img_info->height, - img_info->width*3, + rowstride, (GdkPixbufDestroyNotify)g_free, NULL);