vte: ignore unset csi parameters in SM/RM
When reading Setmode/Resetmode parameters, we should ignore all unset parameters instead of printing a warning. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
parent
843bcd3f8a
commit
230db0eebe
@ -822,9 +822,11 @@ static void csi_mode(struct kmscon_vte *vte, bool set)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
for (i = 0; i < CSI_ARG_MAX; ++i) {
|
for (i = 0; i < vte->csi_argc; ++i) {
|
||||||
if (!(vte->csi_flags & CSI_WHAT)) {
|
if (!(vte->csi_flags & CSI_WHAT)) {
|
||||||
switch (vte->csi_argv[i]) {
|
switch (vte->csi_argv[i]) {
|
||||||
|
case -1:
|
||||||
|
continue;
|
||||||
case 2: /* KAM */
|
case 2: /* KAM */
|
||||||
set_reset_flag(vte, set,
|
set_reset_flag(vte, set,
|
||||||
FLAG_KEYBOARD_ACTION_MODE);
|
FLAG_KEYBOARD_ACTION_MODE);
|
||||||
@ -849,6 +851,8 @@ static void csi_mode(struct kmscon_vte *vte, bool set)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (vte->csi_argv[i]) {
|
switch (vte->csi_argv[i]) {
|
||||||
|
case -1:
|
||||||
|
continue;
|
||||||
case 1: /* DECCKM */
|
case 1: /* DECCKM */
|
||||||
set_reset_flag(vte, set, FLAG_CURSOR_KEY_MODE);
|
set_reset_flag(vte, set, FLAG_CURSOR_KEY_MODE);
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user