Sync OpenBSD patchset 911:

Use button mouse mode not any for copy mode, fixes issues with
putty. From Ailin Nemui.
This commit is contained in:
Tiago Cunha 2011-05-18 20:33:24 +00:00
parent 21140d426d
commit e0fcd3b247

View File

@ -1,4 +1,4 @@
/* $Id: window-copy.c,v 1.130 2011-04-25 20:34:26 tcunha Exp $ */ /* $Id: window-copy.c,v 1.131 2011-05-18 20:33:24 tcunha Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -790,7 +790,7 @@ window_copy_mouse(
* If already reading motion, move the cursor while buttons are still * If already reading motion, move the cursor while buttons are still
* pressed, or stop the selection on their release. * pressed, or stop the selection on their release.
*/ */
if (s->mode & MODE_MOUSE_ANY) { if (s->mode & MODE_MOUSE_BUTTON) {
if ((m->b & MOUSE_BUTTON) != MOUSE_UP) { if ((m->b & MOUSE_BUTTON) != MOUSE_UP) {
window_copy_update_cursor(wp, m->x, m->y); window_copy_update_cursor(wp, m->x, m->y);
if (window_copy_update_selection(wp)) if (window_copy_update_selection(wp))
@ -803,7 +803,7 @@ window_copy_mouse(
/* Otherwise if other buttons pressed, start selection and motion. */ /* Otherwise if other buttons pressed, start selection and motion. */
if ((m->b & MOUSE_BUTTON) != MOUSE_UP) { if ((m->b & MOUSE_BUTTON) != MOUSE_UP) {
s->mode &= ~MODE_MOUSE_STANDARD; s->mode &= ~MODE_MOUSE_STANDARD;
s->mode |= MODE_MOUSE_ANY; s->mode |= MODE_MOUSE_BUTTON;
window_copy_update_cursor(wp, m->x, m->y); window_copy_update_cursor(wp, m->x, m->y);
window_copy_start_selection(wp); window_copy_start_selection(wp);
@ -813,7 +813,7 @@ window_copy_mouse(
return; return;
reset_mode: reset_mode:
s->mode &= ~MODE_MOUSE_ANY; s->mode &= ~MODE_MOUSE_BUTTON;
s->mode |= MODE_MOUSE_STANDARD; s->mode |= MODE_MOUSE_STANDARD;
if (sess != NULL) { if (sess != NULL) {
window_copy_copy_selection(wp); window_copy_copy_selection(wp);