diff options
Diffstat (limited to 'src/data/folderdata.c')
-rw-r--r-- | src/data/folderdata.c | 16 |
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); |