diff options
| author | Andrew Mahone <andrew.mahone@gmail.com> | 2009-03-06 00:38:50 +0000 |
|---|---|---|
| committer | Andrew Mahone <andrew.mahone@gmail.com> | 2009-03-06 00:38:50 +0000 |
| commit | cc5689c153fd24fa10bfce2019967a3e6c068c83 (patch) | |
| tree | 608f93b12c2919a59c59854ab683e1917a1b30fa /apps | |
| parent | 5aca36115f34e5151b9c570adb568b5b4080a042 (diff) | |
| download | rockbox-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.c | 8 |
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)) |