From: David Herrmann Date: Tue, 29 May 2012 13:27:50 +0000 (+0200) Subject: vte: fix up SM/RM modes X-Git-Tag: kmscon-7~903 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8f9270822cbe79ff3e8587290b976bdd2b7a1545;p=platform%2Fupstream%2Fkmscon.git vte: fix up SM/RM modes The ANSI and DEC modes overlap so fix up parsing of flags. Signed-off-by: David Herrmann --- diff --git a/src/vte.c b/src/vte.c index 51a2ef6..a28e60d 100644 --- a/src/vte.c +++ b/src/vte.c @@ -802,25 +802,29 @@ static void csi_mode(struct kmscon_vte *vte, bool set) unsigned int i; for (i = 0; i < CSI_ARG_MAX; ++i) { - switch (vte->csi_argv[i]) { - case 2: /* KAM */ - set_reset_flag(vte, set, FLAG_KEYBOARD_ACTION_MODE); - continue; - case 4: /* IRM */ - set_reset_flag(vte, set, FLAG_INSERT_REPLACE_MODE); - continue; - case 12: /* SRM */ - set_reset_flag(vte, set, FLAG_SEND_RECEIVE_MODE); - continue; - case 20: /* LNM */ - set_reset_flag(vte, set, FLAG_LINE_FEED_NEW_LINE_MODE); - continue; - } - if (!(vte->csi_flags & CSI_WHAT)) { - log_debug("unknown non-DEC (Re)Set-Mode %d", - vte->csi_argv[i]); - continue; + switch (vte->csi_argv[i]) { + case 2: /* KAM */ + set_reset_flag(vte, set, + FLAG_KEYBOARD_ACTION_MODE); + continue; + case 4: /* IRM */ + set_reset_flag(vte, set, + FLAG_INSERT_REPLACE_MODE); + continue; + case 12: /* SRM */ + set_reset_flag(vte, set, + FLAG_SEND_RECEIVE_MODE); + continue; + case 20: /* LNM */ + set_reset_flag(vte, set, + FLAG_LINE_FEED_NEW_LINE_MODE); + continue; + default: + log_debug("unknown non-DEC (Re)Set-Mode %d", + vte->csi_argv[i]); + continue; + } } switch (vte->csi_argv[i]) { @@ -887,6 +891,7 @@ static void csi_mode(struct kmscon_vte *vte, bool set) default: log_debug("unknown DEC (Re)Set-Mode %d", vte->csi_argv[i]); + continue; } } }