diff --git a/input.c b/input.c index 6c1a66e4..24467144 100644 --- a/input.c +++ b/input.c @@ -1613,7 +1613,7 @@ input_csi_dispatch(struct input_ctx *ictx) if (ictx->wp != NULL) oo = ictx->wp->options; else - oo = global_options; + oo = global_w_options; p = options_get_number(oo, "cursor-style"); /* blink for 1,3,5; steady for 0,2,4,6 */ @@ -2503,7 +2503,7 @@ input_handle_decrqss(struct input_ctx *ictx) if (wp != NULL) oo = wp->options; else - oo = global_options; + oo = global_w_options; opt_ps = options_get_number(oo, "cursor-style"); /* Sanity clamp: valid Ps are 0..6 per DECSCUSR. */ @@ -2538,8 +2538,9 @@ input_dcs_dispatch(struct input_ctx *ictx) long long allow_passthrough = 0; if (wp == NULL) - return (0); - oo = wp->options; + oo = global_w_options; + else + oo = wp->options; if (ictx->flags & INPUT_DISCARD) { log_debug("%s: %zu bytes (discard)", __func__, len);