diff --git a/src/include/lib3270/action_table.h b/src/include/lib3270/action_table.h index eefe172..6970008 100644 --- a/src/include/lib3270/action_table.h +++ b/src/include/lib3270/action_table.h @@ -52,7 +52,7 @@ DECLARE_LIB3270_CURSOR_ACTION( newline ) /* Misc actions */ - DECLARE_LIB3270_ACTION( reset ) + DECLARE_LIB3270_ACTION( kybdreset ) DECLARE_LIB3270_ACTION( clear ) DECLARE_LIB3270_ACTION( eraseinput ) diff --git a/src/lib3270/kybd.c b/src/lib3270/kybd.c index 6e5aabd..83af1ec 100644 --- a/src/lib3270/kybd.c +++ b/src/lib3270/kybd.c @@ -1123,8 +1123,12 @@ static void defer_unlock(H3270 *hSession) ps_process(hSession); } -/* +/** * Reset keyboard lock. + * + * @param hSession Session handle. + * @param explicit Explicit request from the keyboard. + * */ void do_reset(H3270 *hSession, Boolean explicit) { @@ -1132,12 +1136,16 @@ void do_reset(H3270 *hSession, Boolean explicit) * If explicit (from the keyboard) and there is typeahead or * a half-composed key, simply flush it. */ - if (explicit #if defined(X3270_FT) /*[*/ || lib3270_get_ft_state(hSession) != LIB3270_FT_STATE_NONE #endif /*]*/ ) { + + if (flush_ta(hSession)) + return; + +/* Boolean half_reset = False; if (flush_ta(hSession)) @@ -1145,6 +1153,7 @@ void do_reset(H3270 *hSession, Boolean explicit) if (half_reset) return; +*/ } /* Always clear insert mode. */ @@ -1185,7 +1194,7 @@ void do_reset(H3270 *hSession, Boolean explicit) } -LIB3270_ACTION( reset ) +LIB3270_ACTION( kybdreset ) { lib3270_unselect(hSession); do_reset(hSession,True); diff --git a/ui/00default.xml b/ui/00default.xml index da86197..1c343bd 100644 --- a/ui/00default.xml +++ b/ui/00default.xml @@ -204,8 +204,8 @@ - - + + -- libgit2 0.21.2