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
This commit is contained in:
Andrew Mahone 2009-03-06 00:38:50 +00:00
parent 5aca36115f
commit cc5689c153

View file

@ -1224,8 +1224,8 @@ bool load_new_slide(void)
cache[cache_right_index].index >= number_of_slides) && cache[cache_right_index].index >= number_of_slides) &&
cache[cache_left_index].index > 0) cache[cache_left_index].index > 0)
{ {
if (cache_free == -1) if (cache_free == -1 && !free_slide_prio(prio_l))
free_slide_prio(prio_l); return false;
i = lla_pop_head(&cache_free); i = lla_pop_head(&cache_free);
if (load_and_prepare_surface(cache[cache_left_index].index if (load_and_prepare_surface(cache[cache_left_index].index
- 1, i, prio_l)) - 1, i, prio_l))
@ -1236,8 +1236,8 @@ bool load_new_slide(void)
} }
} else if(cache[cache_right_index].index < number_of_slides - 1) } else if(cache[cache_right_index].index < number_of_slides - 1)
{ {
if (cache_free == -1) if (cache_free == -1 && !free_slide_prio(prio_r))
free_slide_prio(prio_l); return false;
i = lla_pop_head(&cache_free); i = lla_pop_head(&cache_free);
if (load_and_prepare_surface(cache[cache_right_index].index if (load_and_prepare_surface(cache[cache_right_index].index
+ 1, i, prio_r)) + 1, i, prio_r))