Make sure that it can restore the original overlay after we open/close OSK
This commit is contained in:
parent
50baeba22a
commit
b0fe8d719a
10
runloop.c
10
runloop.c
|
@ -1036,18 +1036,27 @@ void rarch_main_iterate_overlay_state(void)
|
||||||
|
|
||||||
static void rarch_main_iterate_linefeed(void)
|
static void rarch_main_iterate_linefeed(void)
|
||||||
{
|
{
|
||||||
|
static char prev_overlay_restore = false;
|
||||||
|
|
||||||
if (driver.osk_enable && !driver.keyboard_linefeed_enable)
|
if (driver.osk_enable && !driver.keyboard_linefeed_enable)
|
||||||
{
|
{
|
||||||
driver.osk_enable = false;
|
driver.osk_enable = false;
|
||||||
|
prev_overlay_restore = true;
|
||||||
rarch_main_command(RARCH_CMD_OVERLAY_DEINIT);
|
rarch_main_command(RARCH_CMD_OVERLAY_DEINIT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (!driver.osk_enable && driver.keyboard_linefeed_enable)
|
else if (!driver.osk_enable && driver.keyboard_linefeed_enable)
|
||||||
{
|
{
|
||||||
driver.osk_enable = true;
|
driver.osk_enable = true;
|
||||||
|
prev_overlay_restore = false;
|
||||||
rarch_main_command(RARCH_CMD_OVERLAY_INIT);
|
rarch_main_command(RARCH_CMD_OVERLAY_INIT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (prev_overlay_restore)
|
||||||
|
{
|
||||||
|
rarch_main_command(RARCH_CMD_OVERLAY_INIT);
|
||||||
|
prev_overlay_restore = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1081,7 +1090,6 @@ int rarch_main_iterate(void)
|
||||||
|
|
||||||
do_pre_state_checks(input, old_input, trigger_input);
|
do_pre_state_checks(input, old_input, trigger_input);
|
||||||
|
|
||||||
if (driver.keyboard_linefeed_enable || driver.osk_enable)
|
|
||||||
rarch_main_iterate_linefeed();
|
rarch_main_iterate_linefeed();
|
||||||
|
|
||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
|
|
Loading…
Reference in New Issue