diff --git a/apps/plugin.c b/apps/plugin.c index f864a1d90b..adf207da79 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -882,6 +882,10 @@ int plugin_load(const char* plugin, const void* parameter) } } +#ifdef HAVE_DISK_STORAGE + if (!storage_disk_is_active()) + splash(0, ID2P(LANG_WAIT)); +#endif strcpy(current_plugin, plugin); current_plugin_handle = lc_open(plugin, pluginbuf, PLUGIN_BUFFER_SIZE); if (current_plugin_handle == NULL) { diff --git a/apps/tagtree.c b/apps/tagtree.c index 6b93b36561..83bfb4e36d 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c @@ -1465,8 +1465,18 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init) int sort_limit; int strip; - /* Show search progress after 0.5s delay */ - show_search_progress(true, 0, 0, 0); + /* Show search progress straight away if the disk needs to spin up, + otherwise show it after the normal 1/2 second delay */ + show_search_progress( +#ifdef HAVE_DISK_STORAGE +#ifdef HAVE_TC_RAMCACHE + tagcache_is_in_ram() ? true : +#endif + storage_disk_is_active() +#else + true +#endif + , 0, 0, 0); if (c->currtable == TABLE_ALLSUBENTRIES) {