mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
(overlay) Fix behavior when overlay_hide_in_menu=true
This commit is contained in:
parent
6f88ece9ab
commit
46ec7562c1
@ -551,6 +551,21 @@ static void input_overlay_loaded(void *task_data, void *user_data, const char *e
|
|||||||
input_overlay_t *ol;
|
input_overlay_t *ol;
|
||||||
driver_t *driver = driver_get_ptr();
|
driver_t *driver = driver_get_ptr();
|
||||||
|
|
||||||
|
/* We can't display when the menu is up */
|
||||||
|
if (settings->input.overlay_hide_in_menu && menu_driver_alive())
|
||||||
|
{
|
||||||
|
if (!driver->osk_enable && settings->input.overlay_enable)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; i < data->size; i++)
|
||||||
|
input_overlay_free_overlay(&data->overlays[i]);
|
||||||
|
|
||||||
|
free(data->overlays);
|
||||||
|
free(data);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ol = (input_overlay_t*)calloc(1, sizeof(*ol));
|
ol = (input_overlay_t*)calloc(1, sizeof(*ol));
|
||||||
ol->overlays = data->overlays;
|
ol->overlays = data->overlays;
|
||||||
ol->size = data->size;
|
ol->size = data->size;
|
||||||
@ -577,11 +592,11 @@ static void input_overlay_loaded(void *task_data, void *user_data, const char *e
|
|||||||
ol->state = OVERLAY_STATUS_NONE;
|
ol->state = OVERLAY_STATUS_NONE;
|
||||||
ol->alive = true;
|
ol->alive = true;
|
||||||
|
|
||||||
RARCH_LOG("%u overlays loaded.\n", (unsigned)data->size);
|
free(data);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
error:
|
error:
|
||||||
input_overlay_free();
|
input_overlay_free();
|
||||||
|
free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void input_overlay_init(void)
|
void input_overlay_init(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user