commit aefe4550792dc95f1814dcbb4bf53a10261b25ba
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Sun May 15 18:31:52 2011 +0100

    Errors not being cascaded in write file info function
    
    * file.c
     * modifies filetype_write_file_info function to avoid throwing away the
       populated GError.
    
    * filetype_iface.c
     * Ensure that the no functions have supported logging
    
    * mp4file.c
     * Better explanation of unsupported mp4 files

 libgtkpod/file.c               |    8 ++++----
 libgtkpod/filetype_iface.c     |    9 ++++++++-
 plugins/filetype_mp4/mp4file.c |    2 +-
 3 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/libgtkpod/file.c b/libgtkpod/file.c
index 28921da..b73bb2e 100644
--- a/libgtkpod/file.c
+++ b/libgtkpod/file.c
@@ -1675,14 +1675,14 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar 
*fname, Playlist *plitem, g
  \*------------------------------------------------------------------*/
 
 /* Call the correct tag writing function for the filename @name */
-static gboolean file_write_info(gchar *name, Track *track, GError *error) {
+static gboolean file_write_info(gchar *name, Track *track, GError **error) {
     FileType *filetype;
 
     g_return_val_if_fail (name, FALSE);
     g_return_val_if_fail (track, FALSE);
 
     filetype = determine_filetype(name);
-    return filetype_write_file_info(filetype, name, track, &error);
+    return filetype_write_file_info(filetype, name, track, error);
 }
 
 /* Write tags to file */
@@ -1717,7 +1717,7 @@ gboolean write_tags_to_file(Track *track) {
     }
 
     if (etr->pc_path_locale && (strlen(etr->pc_path_locale) > 0)) {
-        if (! file_write_info(etr->pc_path_locale, track, error)) {
+        if (! file_write_info(etr->pc_path_locale, track, &error)) {
             gchar *msg = g_strdup_printf(_("Couldn't change tags of file: 
%s"), etr->pc_path_locale);
             if (error) {
                 gtkpod_warning("%s\n%s", msg, error->message);
@@ -1733,7 +1733,7 @@ gboolean write_tags_to_file(Track *track) {
     if (!get_offline(itdb) && track->transferred && track->ipod_path && 
(g_utf8_strlen(track->ipod_path, -1) > 0)) {
         /* need to get ipod filename */
         ipod_fullpath = get_file_name_from_source(track, SOURCE_IPOD);
-        if (!file_write_info(ipod_fullpath, track, error)) {
+        if (!file_write_info(ipod_fullpath, track, &error)) {
             gchar *msg = g_strdup_printf(_("Couldn't change tags of file: 
%s\n"), ipod_fullpath);
             if (error) {
                 gtkpod_warning("%s\n%s", msg, error->message);
diff --git a/libgtkpod/filetype_iface.c b/libgtkpod/filetype_iface.c
index 06bb952..2d14ed1 100644
--- a/libgtkpod/filetype_iface.c
+++ b/libgtkpod/filetype_iface.c
@@ -170,14 +170,17 @@ gboolean filetype_is_audio_filetype(FileType *filetype) {
 }
 
 Track *filetype_no_track_info(const gchar *name, GError **error) {
+    gtkpod_log_error(error, _("Error: Track info for this file type not 
supported."));
     return NULL;
 }
 
 gboolean filetype_no_write_file_info(const gchar *filename, Track *track, 
GError **error) {
+    gtkpod_log_error(error, _("Error: Writing track info to files of this file 
type is not supported."));
     return FALSE;
 }
 
 gboolean filetype_no_soundcheck(const gchar *filename, Track *track, GError 
**error) {
+    gtkpod_log_error(error, _("Error: Limiting of sound level not supported 
for this file type."));
     return FALSE;
 }
 
@@ -187,15 +190,19 @@ gchar *filetype_no_gain_cmd() {
 
 gboolean filetype_no_read_lyrics(const gchar *filename, gchar **lyrics, GError 
**error) {
     gtkpod_log_error (error,
-            _("Error: Lyrics not supported for this file format."));
+            _("Error: Lyrics not supported for this file type."));
     return FALSE;
 }
 
 gboolean filetype_no_write_lyrics(const gchar *filename, const gchar *lyrics, 
GError **error) {
+    gtkpod_log_error (error,
+                _("Error: Writing of lyrics is not supported for this file 
type."));
     return FALSE;
 }
 
 gboolean filetype_no_read_gapless(const gchar *filename, Track *track, GError 
**error) {
+    gtkpod_log_error (error,
+                _("Error: Gapless playback for this file type is not 
supported."));
     return FALSE;
 }
 
diff --git a/plugins/filetype_mp4/mp4file.c b/plugins/filetype_mp4/mp4file.c
index 7e41f4b..11582e6 100644
--- a/plugins/filetype_mp4/mp4file.c
+++ b/plugins/filetype_mp4/mp4file.c
@@ -991,7 +991,7 @@ gboolean mp4_write_file_info(const gchar *mp4FileName, 
Track *track, GError **er
         else {
             gchar *filename = charset_to_utf8(mp4FileName);
             gtkpod_log_error(error,
-                                        g_strdup_printf(_("'%s' does not 
appear to be a m4a/m4b/m4v/mp4 audio file.\n"), filename));
+                                        g_strdup_printf(_("Only writing to 
m4a/m4b/m4v/mp4 audio tracks is supported. '%s' is not one of these file 
formats.\n"), filename));
             g_free(filename);
             result = FALSE;
         }

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to