summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-12-13 00:07:39 +0100
committerAidan MacDonald <amachronic@protonmail.com>2022-05-22 06:55:58 -0400
commit5146c3043fa559eab454a7c71f7045e2e016f2e7 (patch)
treee750c72f9040b581dd9bcaa1e0346e2b3d52da44
parentc116db6065d7b3c592cfca34fe30986f60fccc76 (diff)
downloadrockbox-5146c3043f.tar.gz
rockbox-5146c3043f.zip
pictureflow: Fix concurrency issues building art cache
Guards against possible image corruption Change-Id: Id7e1e3a09cb13c255eea0ffdd2e4c4d558086997
-rw-r--r--apps/plugins/pictureflow/pictureflow.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c
index a2782b6a2b..65efed72c7 100644
--- a/apps/plugins/pictureflow/pictureflow.c
+++ b/apps/plugins/pictureflow/pictureflow.c
@@ -4416,7 +4416,12 @@ static int pictureflow_main(const char* selected_file)
break;
case pf_idle:
render_all_slides();
- incremental_albumart_cache(false);
+ if (aa_cache.inspected < pf_idx.album_ct)
+ {
+ buf_ctx_lock();
+ incremental_albumart_cache(false);
+ buf_ctx_unlock();
+ }
break;
}