1
0
Fork 0
forked from len0rd/rockbox

Revert r30599 "Check for the magic file "/.rockbox/skin_buffer_size.txt" [...]"

It's not clear whether a user setting is the right/accepted fix for the skin buffer.
But even if it is, this implementation of it is considered bad, even by the author.

See http://www.rockbox.org/mail/archive/rockbox-dev-archive-2011-09/0054.shtml

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30718 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2011-10-05 17:43:51 +00:00
parent 8c4941e561
commit 6efb3f0760
2 changed files with 4 additions and 35 deletions

View file

@ -25,9 +25,7 @@
#include <limits.h> #include <limits.h>
#include "inttypes.h" #include "inttypes.h"
#include "config.h" #include "config.h"
#include "core_alloc.h"
#include "action.h" #include "action.h"
#include "misc.h"
#include "crc32.h" #include "crc32.h"
#include "settings.h" #include "settings.h"
#include "wps.h" #include "wps.h"
@ -45,38 +43,14 @@ static bool skins_initialising = true;
/* App uses the host malloc to manage the buffer */ /* App uses the host malloc to manage the buffer */
#ifdef APPLICATION #ifdef APPLICATION
#define skin_buffer NULL #define skin_buffer NULL
#define skin_buffer_size 0
void theme_init_buffer(void) void theme_init_buffer(void)
{ {
skins_initialising = false; skins_initialising = false;
} }
#else #else
static size_t skin_buffer_size; static char skin_buffer[SKIN_BUFFER_SIZE];
static char *skin_buffer = NULL;
static int buflib_move_callback(int handle, void* current, void* new)
{
(void)handle;
(void)current;
(void)new;
return BUFLIB_CB_CANNOT_MOVE;
}
static struct buflib_callbacks buflib_ops = {buflib_move_callback, NULL};
void theme_init_buffer(void) void theme_init_buffer(void)
{ {
int fd;
size_t size = SKIN_BUFFER_SIZE;
fd = open_utf8(ROCKBOX_DIR "/skin_buffer_size.txt", O_RDONLY);
if (fd >= 0)
{
char buf[32];
read(fd, buf, sizeof(buf));
if (buf[0] >= '0' && buf[0] <= '9')
size = atoi(buf)*1024;
close(fd);
}
skin_buffer = core_get_data(core_alloc_ex("skin buffer", size, &buflib_ops));
skin_buffer_size = size;
skins_initialising = false; skins_initialising = false;
} }
#endif #endif
@ -139,7 +113,8 @@ void skin_unload_all(void)
skin_data_free_buflib_allocs(&skins[j][i].data); skin_data_free_buflib_allocs(&skins[j][i].data);
} }
skin_buffer_init(skin_buffer, skin_buffer_size); skin_buffer_init(skin_buffer, SKIN_BUFFER_SIZE);
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
skin_backdrop_init(); skin_backdrop_init();
#endif #endif

View file

@ -350,9 +350,6 @@ static void init(void)
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD
lcd_remote_init(); lcd_remote_init();
#endif #endif
/* This init call allocates an *unmovable* block so must be
* before any other moveable allocs. */
theme_init_buffer();
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
FOR_NB_SCREENS(i) FOR_NB_SCREENS(i)
global_status.font_id[i] = FONT_SYSFIXED; global_status.font_id[i] = FONT_SYSFIXED;
@ -393,6 +390,7 @@ static void init(void)
tree_mem_init(); tree_mem_init();
filetype_init(); filetype_init();
playlist_init(); playlist_init();
theme_init_buffer();
#if CONFIG_CODEC != SWCODEC #if CONFIG_CODEC != SWCODEC
mp3_init( global_settings.volume, mp3_init( global_settings.volume,
@ -442,10 +440,6 @@ static void init(void)
cpu_boost(true); cpu_boost(true);
#endif #endif
/* This init call allocates an *unmovable* block so must be
* before any other moveable allocs. */
theme_init_buffer();
i2c_init(); i2c_init();
power_init(); power_init();