diff options
-rw-r--r-- | apps/tagtree.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c index 696ba81487..4db4a91cc7 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c | |||
@@ -1584,6 +1584,19 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init) | |||
1584 | 1584 | ||
1585 | if (strcmp(tcs.result, UNTAGGED) == 0) | 1585 | if (strcmp(tcs.result, UNTAGGED) == 0) |
1586 | { | 1586 | { |
1587 | if (tag == tag_title) /* Fallback to filename */ | ||
1588 | { | ||
1589 | char *lastname = dptr->name; | ||
1590 | dptr->name = core_get_data(c->cache.name_buffer_handle)+namebufused; | ||
1591 | if (tagcache_retrieve(&tcs, tcs.idx_id, tag_filename, dptr->name, | ||
1592 | c->cache.name_buffer_size - namebufused)) | ||
1593 | { | ||
1594 | namebufused += strlen(dptr->name)+1; | ||
1595 | goto entry_skip_formatter; | ||
1596 | } | ||
1597 | dptr->name = lastname; /* restore last entry if filename failed */ | ||
1598 | } | ||
1599 | |||
1587 | tcs.result = str(LANG_TAGNAVI_UNTAGGED); | 1600 | tcs.result = str(LANG_TAGNAVI_UNTAGGED); |
1588 | tcs.result_len = strlen(tcs.result); | 1601 | tcs.result_len = strlen(tcs.result); |
1589 | tcs.ramresult = true; | 1602 | tcs.ramresult = true; |
@@ -1632,6 +1645,7 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init) | |||
1632 | else | 1645 | else |
1633 | dptr->name = tcs.result; | 1646 | dptr->name = tcs.result; |
1634 | 1647 | ||
1648 | entry_skip_formatter: | ||
1635 | dptr++; | 1649 | dptr++; |
1636 | current_entry_count++; | 1650 | current_entry_count++; |
1637 | 1651 | ||