diff --git a/ChangeLog b/ChangeLog index 21fa691..7ce5b21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4975,3 +4975,9 @@ Mon Jan 27 17:31:41 2003 Michael Jennings (mej) Support for xterm's cursor color change sequence (\e]12;\a) as requested by Thomas . ---------------------------------------------------------------------- +Wed Feb 19 11:41:00 2003 Michael Jennings (mej) + +Patch from Paul Brannan to fix a conflict +between twin's non-standard mouse drag reporting and vim when twin +support is not enabled. +---------------------------------------------------------------------- diff --git a/src/events.c b/src/events.c index 1ae518e..4dbabfd 100644 --- a/src/events.c +++ b/src/events.c @@ -805,10 +805,15 @@ handle_motion_notify(event_t *ev) REQUIRE_RVAL(XEVENT_IS_MYWIN(ev, &primary_data), 0); +#ifdef HAVE_TWIN + /* It's really silly that Twin uses mouse drag codes that are + * different from the ones that xterm uses. + */ if ((PrivateModes & PrivMode_mouse_report) && !(button_state.bypass_keystate)) { - mouse_drag_report(&(ev->xbutton)); + twin_mouse_drag_report(&(ev->xbutton)); return 1; } +#endif if (ev->xany.window == TermWin.vt) { if (ev->xbutton.state & (Button1Mask | Button3Mask)) { diff --git a/src/screen.c b/src/screen.c index 3f4e7f8..5401fc7 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3277,7 +3277,7 @@ selection_send(XSelectionRequestEvent * rq) } void /* drag report as used by the "twin" program */ -mouse_drag_report(XButtonEvent * ev) +twin_mouse_drag_report(XButtonEvent * ev) { int button_number, key_state, x = Pixel2Col(ev->x), y = Pixel2Row(ev->y); diff --git a/src/screen.h b/src/screen.h index 32e133e..9d29520 100644 --- a/src/screen.h +++ b/src/screen.h @@ -302,7 +302,7 @@ extern void selection_extend_colrow(int, int, int, int); extern void selection_rotate(int, int); extern void selection_send(XSelectionRequestEvent *); extern void mouse_report(XButtonEvent *); -extern void mouse_drag_report(XButtonEvent *); +extern void twin_mouse_drag_report(XButtonEvent *); extern void mouse_tracking(int, int, int, int, int); extern void debug_colors(void); #ifdef MULTI_CHARSET