From f4a011831887392d4b7d3c621501c0a431b90331 Mon Sep 17 00:00:00 2001
From: Ben Kibbey <bjk@luxsci.net>
Date: Sun, 6 Jul 2014 10:47:51 +0200
Subject: [PATCH] Fix crash when MpdSong->file is not set.
---
src/gmpc-mpddata-model.gob | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gmpc-mpddata-model.gob b/src/gmpc-mpddata-model.gob
index 61a843f..052ef81 100644
--- a/src/gmpc-mpddata-model.gob
+++ b/src/gmpc-mpddata-model.gob
@@ -611,13 +611,17 @@ end:
break;
case MPDDATA_MODEL_COL_PATH_EXTENSION:
{
- int j = strlen(song->file);
+ if(!song->file)
+ break;
+ int j = strlen(song->file);
for(;j>0&&song->file[j] != '.';j--);
g_value_set_string(value, &(song->file)[j+1]);
break;
}
case MPDDATA_MODEL_COL_PATH_DIRECTORY:
{
+ if(!song->file)
+ break;
gchar *dir = g_path_get_dirname(song->file);
g_value_set_string(value, dir);
g_free(dir);
@@ -643,6 +647,7 @@ end:
}
break;
case MPDDATA_MODEL_COL_SONG_TITLEFILE:
+ if (song->file)
{
gchar *path = g_path_get_basename(song->file);
g_value_set_string(value, path);
@@ -699,7 +704,7 @@ end:
break;
case MPDDATA_MODEL_COL_ICON_ID:
- if (strstr(song->file, "://")) {
+ if (song->file && strstr(song->file, "://")) {
g_value_set_string(value, "media-stream");
} else {
g_value_set_string(value, "media-audiofile");
--
2.7.4.GIT