From 217fba48c5a560e7b196a2b0ddc83b627b2e79ac Mon Sep 17 00:00:00 2001 From: neil4 Date: Sun, 6 Nov 2022 10:25:44 -0600 Subject: [PATCH] minor overlay-related fixes (#14594) input_overlay_loaded: Only update menu entries if changed input_overlay_add_inputs: Set 'updated' for analogs when touched --- input/input_driver.c | 11 +++++++++-- input/input_overlay.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/input/input_driver.c b/input/input_driver.c index 43f2e886db..ac3f623242 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -1217,7 +1217,11 @@ static bool input_overlay_add_inputs_inner(overlay_desc_t *desc, /* Maybe use some option here instead of 0, only display * changes greater than some magnitude */ if ((dx * dx) > 0 || (dy * dy) > 0) + { + if (ol_state) + desc->updated = 1; return true; + } } break; @@ -3551,8 +3555,11 @@ static void input_overlay_loaded(retro_task_t *task, bool refresh = false; /* Update menu entries */ - menu_st->overlay_types = data->overlay_types; - menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); + if (menu_st->overlay_types != data->overlay_types) + { + menu_st->overlay_types = data->overlay_types; + menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); + } /* We can't display when the menu is up */ if ( data->hide_in_menu diff --git a/input/input_overlay.h b/input/input_overlay.h index ea916371c1..f069263cfb 100644 --- a/input/input_overlay.h +++ b/input/input_overlay.h @@ -176,7 +176,7 @@ struct overlay_desc /* If true, blocks input from overlapped hitboxes */ bool exclusive; - /* Similar, but only applies after range_mod takes affect */ + /* Similar, but only applies after range_mod takes effect */ bool range_mod_exclusive; bool movable;