summaryrefslogtreecommitdiff
path: root/src/data/folderdata.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/folderdata.c')
-rw-r--r--src/data/folderdata.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/data/folderdata.c b/src/data/folderdata.c
index 2335653..d956e59 100644
--- a/src/data/folderdata.c
+++ b/src/data/folderdata.c
@@ -88,16 +88,24 @@ static bool _create_filter(struct folderdata *fd, filter_h *filter,
media_filter_set_order(tmp_filter, MEDIA_CONTENT_ORDER_ASC,
FOLDER_NAME, MEDIA_CONTENT_COLLATE_DEFAULT);
} else {
- snprintf(buf, sizeof(buf), "%s AND MEDIA_STORAGE_TYPE=%d",
- fd->media_type, fd->source_type);
+ snprintf(buf, sizeof(buf), "%s", fd->media_type);
- if (cond) {
+ if (fd->source_type != E_SOURCE_ALL) {
char s1[256];
- snprintf(s1, sizeof(s1), " AND %s", cond);
+ snprintf(s1, sizeof(s1), " AND MEDIA_STORAGE_TYPE=%d",
+ fd->source_type);
+
strncat(buf, s1, strlen(s1));
}
+ if (cond) {
+ char s2[256];
+
+ snprintf(s2, sizeof(s2), " AND %s", cond);
+ strncat(buf, s2, strlen(s2));
+ }
+
media_filter_set_order(tmp_filter, MEDIA_CONTENT_ORDER_ASC,
MEDIA_TITLE,
MEDIA_CONTENT_COLLATE_DEFAULT);