summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorAndrew Mahone <andrew.mahone@gmail.com>2009-03-06 00:38:50 +0000
committerAndrew Mahone <andrew.mahone@gmail.com>2009-03-06 00:38:50 +0000
commitcc5689c153fd24fa10bfce2019967a3e6c068c83 (patch)
tree608f93b12c2919a59c59854ab683e1917a1b30fa /apps
parent5aca36115f34e5151b9c570adb568b5b4080a042 (diff)
downloadrockbox-cc5689c153fd24fa10bfce2019967a3e6c068c83.zip
rockbox-cc5689c153fd24fa10bfce2019967a3e6c068c83.tar.gz
rockbox-cc5689c153fd24fa10bfce2019967a3e6c068c83.tar.bz2
rockbox-cc5689c153fd24fa10bfce2019967a3e6c068c83.tar.xz
pictureflow: use correct priority to free slides when extending cache on right, catch and handle failure to find a slide to free
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20212 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/pictureflow.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/plugins/pictureflow.c b/apps/plugins/pictureflow.c
index cead25c..58d2869 100644
--- a/apps/plugins/pictureflow.c
+++ b/apps/plugins/pictureflow.c
@@ -1224,8 +1224,8 @@ bool load_new_slide(void)
cache[cache_right_index].index >= number_of_slides) &&
cache[cache_left_index].index > 0)
{
- if (cache_free == -1)
- free_slide_prio(prio_l);
+ if (cache_free == -1 && !free_slide_prio(prio_l))
+ return false;
i = lla_pop_head(&cache_free);
if (load_and_prepare_surface(cache[cache_left_index].index
- 1, i, prio_l))
@@ -1236,8 +1236,8 @@ bool load_new_slide(void)
}
} else if(cache[cache_right_index].index < number_of_slides - 1)
{
- if (cache_free == -1)
- free_slide_prio(prio_l);
+ if (cache_free == -1 && !free_slide_prio(prio_r))
+ return false;
i = lla_pop_head(&cache_free);
if (load_and_prepare_surface(cache[cache_right_index].index
+ 1, i, prio_r))