Be more safe with these functions - this was causing crashes on
MSVC 2005
This commit is contained in:
parent
bd63d28b0f
commit
6d09d29093
|
@ -4401,14 +4401,27 @@ static void gl2_get_video_output_next(void *data)
|
||||||
static void video_texture_load_gl2(
|
static void video_texture_load_gl2(
|
||||||
struct texture_image *ti,
|
struct texture_image *ti,
|
||||||
enum texture_filter_type filter_type,
|
enum texture_filter_type filter_type,
|
||||||
uintptr_t *id)
|
uintptr_t *idptr)
|
||||||
{
|
{
|
||||||
|
GLuint id;
|
||||||
|
unsigned width = 0;
|
||||||
|
unsigned height = 0;
|
||||||
|
const void *pixels = NULL;
|
||||||
/* Generate the OpenGL texture object */
|
/* Generate the OpenGL texture object */
|
||||||
glGenTextures(1, (GLuint*)id);
|
glGenTextures(1, &id);
|
||||||
gl_load_texture_data((GLuint)*id,
|
*idptr = id;
|
||||||
|
|
||||||
|
if (ti)
|
||||||
|
{
|
||||||
|
width = ti->width;
|
||||||
|
height = ti->height;
|
||||||
|
pixels = ti->pixels;
|
||||||
|
}
|
||||||
|
|
||||||
|
gl_load_texture_data(id,
|
||||||
RARCH_WRAP_EDGE, filter_type,
|
RARCH_WRAP_EDGE, filter_type,
|
||||||
4 /* TODO/FIXME - dehardcode */,
|
4 /* TODO/FIXME - dehardcode */,
|
||||||
ti->width, ti->height, ti->pixels,
|
width, height, pixels,
|
||||||
sizeof(uint32_t) /* TODO/FIXME - dehardcode */
|
sizeof(uint32_t) /* TODO/FIXME - dehardcode */
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2058,7 +2058,7 @@ static int video_texture_load_wrap_gl_core(void *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uintptr_t gl_core_load_texture(void *video_data, void *data,
|
static uintptr_t gl_core_load_texture(void *video_data, void *data,
|
||||||
bool threaded, enum texture_filter_type filter_type)
|
bool threaded, enum texture_filter_type filter_type)
|
||||||
{
|
{
|
||||||
uintptr_t id = 0;
|
uintptr_t id = 0;
|
||||||
|
|
||||||
|
|
|
@ -5601,33 +5601,34 @@ error:
|
||||||
|
|
||||||
static void xmb_context_reset_background(const char *iconpath)
|
static void xmb_context_reset_background(const char *iconpath)
|
||||||
{
|
{
|
||||||
char *path = NULL;
|
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
const char *path_menu_wp = settings->paths.path_menu_wallpaper;
|
const char *path_menu_wp = settings->paths.path_menu_wallpaper;
|
||||||
|
|
||||||
if (!string_is_empty(path_menu_wp))
|
if (!string_is_empty(path_menu_wp))
|
||||||
path = strdup(path_menu_wp);
|
{
|
||||||
|
if (path_is_valid(path_menu_wp))
|
||||||
|
task_push_image_load(path_menu_wp,
|
||||||
|
video_driver_supports_rgba(), 0,
|
||||||
|
menu_display_handle_wallpaper_upload, NULL);
|
||||||
|
}
|
||||||
else if (!string_is_empty(iconpath))
|
else if (!string_is_empty(iconpath))
|
||||||
{
|
{
|
||||||
path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
char path[PATH_MAX_LENGTH];
|
||||||
path[0] = '\0';
|
path[0] = '\0';
|
||||||
|
|
||||||
fill_pathname_join(path, iconpath, "bg.png",
|
fill_pathname_join(path, iconpath, "bg.png",
|
||||||
PATH_MAX_LENGTH * sizeof(char));
|
PATH_MAX_LENGTH * sizeof(char));
|
||||||
|
if (path_is_valid(path))
|
||||||
|
task_push_image_load(path,
|
||||||
|
video_driver_supports_rgba(), 0,
|
||||||
|
menu_display_handle_wallpaper_upload, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path_is_valid(path))
|
|
||||||
task_push_image_load(path,
|
|
||||||
video_driver_supports_rgba(), 0,
|
|
||||||
menu_display_handle_wallpaper_upload, NULL);
|
|
||||||
|
|
||||||
#ifdef ORBIS
|
#ifdef ORBIS
|
||||||
/* To avoid weird behaviour on orbis with remote host */
|
/* To avoid weird behaviour on orbis with remote host */
|
||||||
RARCH_LOG("[XMB] after task\n");
|
RARCH_LOG("[XMB] after task\n");
|
||||||
sleep(5);
|
sleep(5);
|
||||||
#endif
|
#endif
|
||||||
if (path)
|
|
||||||
free(path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xmb_context_reset_internal(xmb_handle_t *xmb,
|
static void xmb_context_reset_internal(xmb_handle_t *xmb,
|
||||||
|
|
Loading…
Reference in New Issue