From 9ab86c64ba6fe726ac433067858a42d95a45d741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sun, 5 Jul 2015 16:32:30 -0300 Subject: [PATCH 1/3] (dynamic) Set retro function pointers to NULL on uninit --- dynamic.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/dynamic.c b/dynamic.c index 59f22166d5..946f76e170 100644 --- a/dynamic.c +++ b/dynamic.c @@ -564,6 +564,32 @@ void uninit_libretro_sym(void) lib_handle = NULL; #endif + pretro_init = NULL; + pretro_deinit = NULL; + pretro_api_version = NULL; + pretro_get_system_info = NULL; + pretro_get_system_av_info = NULL; + pretro_set_environment = NULL; + pretro_set_video_refresh = NULL; + pretro_set_audio_sample = NULL; + pretro_set_audio_sample_batch = NULL; + pretro_set_input_poll = NULL; + pretro_set_input_state = NULL; + pretro_set_controller_port_device = NULL; + pretro_reset = NULL; + pretro_run = NULL; + pretro_serialize_size = NULL; + pretro_serialize = NULL; + pretro_unserialize = NULL; + pretro_cheat_reset = NULL; + pretro_cheat_set = NULL; + pretro_load_game = NULL; + pretro_load_game_special = NULL; + pretro_unload_game = NULL; + pretro_get_region = NULL; + pretro_get_memory_data = NULL; + pretro_get_memory_size = NULL; + rarch_system_info_free(); driver->camera_active = false; From 67448cafaf4bae8b00f365641e32f84d4911e028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sun, 5 Jul 2015 16:38:56 -0300 Subject: [PATCH 2/3] (command_event.c) No need to call rarch_environment_cb during core deinit --- command_event.c | 1 - 1 file changed, 1 deletion(-) diff --git a/command_event.c b/command_event.c index 6516789a6e..fe6d3ba812 100644 --- a/command_event.c +++ b/command_event.c @@ -554,7 +554,6 @@ static void event_deinit_core(bool reinit) global->overrides_active = false; } - pretro_set_environment(rarch_environment_cb); uninit_libretro_sym(); } From 4bc2941c99879ad86cf93dcff2be8b79e23de983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sun, 5 Jul 2015 16:49:08 -0300 Subject: [PATCH 3/3] (command_event.c) Fix noncompliant behavior on core initialization --- command_event.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/command_event.c b/command_event.c index fe6d3ba812..f6d86f8744 100644 --- a/command_event.c +++ b/command_event.c @@ -732,6 +732,9 @@ static bool event_init_core(void) global->overrides_active = false; } + /* reset video format to libretro's default */ + video_driver_set_pixel_format(RETRO_PIXEL_FORMAT_0RGB1555); + pretro_set_environment(rarch_environment_cb); /* auto-remap: apply remap files */