diff --git a/gfx/gfx_display.c b/gfx/gfx_display.c index 2b466814c0..98b68745af 100644 --- a/gfx/gfx_display.c +++ b/gfx/gfx_display.c @@ -405,9 +405,10 @@ float gfx_display_get_widget_dpi_scale( settings_t *settings = config_get_ptr(); bool gfx_widget_scale_auto = settings->bools.menu_widget_scale_auto; float _menu_scale_factor = settings->floats.menu_scale_factor; + float menu_widget_scale_factor_fullscreen = settings->floats.menu_widget_scale_factor; + float menu_widget_scale_factor_windowed = settings->floats.menu_widget_scale_factor_windowed; float menu_widget_scale_factor = fullscreen ? - settings->floats.menu_widget_scale_factor : - settings->floats.menu_widget_scale_factor_windowed; + menu_widget_scale_factor_fullscreen : menu_widget_scale_factor_windowed; /* When using RGUI, _menu_scale_factor * is ignored @@ -463,9 +464,10 @@ float gfx_display_get_widget_pixel_scale( settings_t *settings = config_get_ptr(); bool gfx_widget_scale_auto = settings->bools.menu_widget_scale_auto; float _menu_scale_factor = settings->floats.menu_scale_factor; + float menu_widget_scale_factor_fullscreen = settings->floats.menu_widget_scale_factor; + float menu_widget_scale_factor_windowed = settings->floats.menu_widget_scale_factor_windowed; float menu_widget_scale_factor = fullscreen ? - settings->floats.menu_widget_scale_factor : - settings->floats.menu_widget_scale_factor_windowed; + menu_widget_scale_factor_fullscreen : menu_widget_scale_factor_windowed; /* When using RGUI, _menu_scale_factor is ignored * > If we are not using a widget scale factor override, diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 34717ef4fc..cb51fcf691 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -158,16 +158,20 @@ static int generic_menu_iterate(void *data, BIT64_SET(menu->state, MENU_STATE_RENDER_MESSAGEBOX); BIT64_SET(menu->state, MENU_STATE_POST_ITERATE); - if (ret == 1 || action == MENU_ACTION_OK) - { - BIT64_SET(menu->state, MENU_STATE_POP_STACK); - menu_dialog_set_active(false); - } - if (action == MENU_ACTION_CANCEL) { - BIT64_SET(menu->state, MENU_STATE_POP_STACK); - menu_dialog_set_active(false); + bool pop_stack = false; + if ( ret == 1 || + action == MENU_ACTION_OK || + action == MENU_ACTION_CANCEL + ) + pop_stack = true; + + if (pop_stack) + { + BIT64_SET(menu->state, MENU_STATE_POP_STACK); + menu_dialog_set_active(false); + } } break; case ITERATE_TYPE_BIND: