From 1718cf5f8a39b922eba3ad1b3c9a9570188362b1 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sun, 3 Apr 2022 11:16:39 +0100 Subject: Convert a number of allocations to use buflib pinning Several places in the codebase implemented an ad-hoc form of pinning; they can be converted to use buflib pinning instead. Change-Id: I4450be007e80f6c9cc9f56c2929fa4b9b85ebff3 --- apps/gui/skin_engine/skin_parser.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'apps/gui/skin_engine/skin_parser.c') diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 047c4735a0..2eef2af7c0 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -1870,13 +1870,11 @@ static void skin_data_reset(struct wps_data *wps_data) } #ifndef __PCTOOL__ -static int currently_loading_handle = -1; static int buflib_move_callback(int handle, void* current, void* new) { + (void)handle; (void)current; (void)new; - if (handle == currently_loading_handle) - return BUFLIB_CB_CANNOT_MOVE; /* Any active skins may be scrolling - which means using viewports which * will be moved after this callback returns. This is a hammer to make that * safe. TODO: use a screwdriver instead. @@ -1890,14 +1888,6 @@ static int buflib_move_callback(int handle, void* current, void* new) return BUFLIB_CB_OK; } static struct buflib_callbacks buflib_ops = {buflib_move_callback, NULL, NULL}; -static void lock_handle(int handle) -{ - currently_loading_handle = handle; -} -static void unlock_handle(void) -{ - currently_loading_handle = -1; -} #endif static int load_skin_bmp(struct wps_data *wps_data, struct bitmap *bitmap, char* bmpdir) @@ -1944,12 +1934,12 @@ static int load_skin_bmp(struct wps_data *wps_data, struct bitmap *bitmap, char* _stats->buflib_handles++; _stats->images_size += buf_size; lseek(fd, 0, SEEK_SET); - lock_handle(handle); + core_pin(handle); bitmap->data = core_get_data(handle); int ret = read_bmp_fd(fd, bitmap, buf_size, format, NULL); bitmap->data = NULL; /* do this to force a crash later if the caller doesnt call core_get_data() */ - unlock_handle(); + core_unpin(handle); close(fd); if (ret > 0) { -- cgit v1.2.3