summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/events.c7
-rw-r--r--src/screen.c2
-rw-r--r--src/screen.h2
4 files changed, 14 insertions, 3 deletions
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;<color>\a) as
requested by Thomas <arnognul@tiscali.se>.
----------------------------------------------------------------------
+Wed Feb 19 11:41:00 2003 Michael Jennings (mej)
+
+Patch from Paul Brannan <pbrannan@atdesk.com> 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