diff options
Diffstat (limited to 'apps/plugins/pictureflow/pictureflow.c')
-rw-r--r-- | apps/plugins/pictureflow/pictureflow.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index d1da10ee09..91062f8f11 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c | |||
@@ -533,19 +533,28 @@ static void free_all_slide_prio(int prio); | |||
533 | static bool check_database(bool prompt) | 533 | static bool check_database(bool prompt) |
534 | { | 534 | { |
535 | bool needwarn = true; | 535 | bool needwarn = true; |
536 | int spin = 5; | ||
537 | |||
536 | struct tagcache_stat *stat = rb->tagcache_get_stat(); | 538 | struct tagcache_stat *stat = rb->tagcache_get_stat(); |
539 | |||
537 | while ( !(stat->initialized && stat->ready) ) | 540 | while ( !(stat->initialized && stat->ready) ) |
538 | { | 541 | { |
539 | if (needwarn) | 542 | if (--spin > 0) |
543 | { | ||
544 | rb->sleep(HZ/5); | ||
545 | } | ||
546 | else if (needwarn) | ||
547 | { | ||
548 | needwarn = false; | ||
540 | rb->splash(0, ID2P(LANG_TAGCACHE_BUSY)); | 549 | rb->splash(0, ID2P(LANG_TAGCACHE_BUSY)); |
541 | if (!prompt) | 550 | } |
551 | else if (!prompt) | ||
542 | return false; | 552 | return false; |
543 | else if (rb->action_userabort(HZ/5)) | 553 | else if (rb->action_userabort(HZ/5)) |
544 | return false; | 554 | return false; |
545 | 555 | ||
546 | needwarn = false; | ||
547 | stat = rb->tagcache_get_stat(); | ||
548 | rb->yield(); | 556 | rb->yield(); |
557 | stat = rb->tagcache_get_stat(); | ||
549 | } | 558 | } |
550 | return true; | 559 | return true; |
551 | } | 560 | } |
@@ -3841,7 +3850,7 @@ enum plugin_status plugin_start(const void *parameter) | |||
3841 | 3850 | ||
3842 | void * buf; | 3851 | void * buf; |
3843 | size_t buf_size; | 3852 | size_t buf_size; |
3844 | bool prompt = (parameter && ((char *) parameter)[0] == ACTIVITY_MAINMENU); | 3853 | bool prompt = (parameter && (((char *) parameter)[0] == ACTIVITY_MAINMENU)); |
3845 | 3854 | ||
3846 | if (!check_database(prompt)) | 3855 | if (!check_database(prompt)) |
3847 | { | 3856 | { |