aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-05-03 21:02:26 +0100
committerThomas Adam <thomas@xteddy.org>2019-05-03 21:02:26 +0100
commit4d505574dc515d6e554b3f37e9aa5bdb8930c6cb (patch)
treef1b3e62f64f9fa6e2f03d5be0ddefbef0408f4fd
parenta14512e23ef902ee0e1ef3188069f4a747dbbb6d (diff)
parente8e4f4ec3e4de0bd0e4eb2a7ee995fb6f5f7f937 (diff)
downloadrtmux-4d505574dc515d6e554b3f37e9aa5bdb8930c6cb.tar.gz
rtmux-4d505574dc515d6e554b3f37e9aa5bdb8930c6cb.tar.bz2
rtmux-4d505574dc515d6e554b3f37e9aa5bdb8930c6cb.zip
Merge branch 'obsd-master'
-rw-r--r--cmd-queue.c1
-rw-r--r--cmd-resize-pane.c2
-rw-r--r--cmd.c4
-rw-r--r--server-client.c4
-rw-r--r--tty-keys.c1
-rw-r--r--window-copy.c2
6 files changed, 9 insertions, 5 deletions
diff --git a/cmd-queue.c b/cmd-queue.c
index 14d6a824..fb2c7fac 100644
--- a/cmd-queue.c
+++ b/cmd-queue.c
@@ -94,6 +94,7 @@ cmdq_insert_after(struct cmdq_item *after, struct cmdq_item *item)
log_debug("%s %s: %s after %s", __func__, cmdq_name(c),
item->name, after->name);
+ after = item;
item = next;
} while (item != NULL);
}
diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
index 410a6257..c978edfb 100644
--- a/cmd-resize-pane.c
+++ b/cmd-resize-pane.c
@@ -143,7 +143,7 @@ cmd_resize_pane_mouse_update(struct client *c, struct mouse_event *m)
}
w = wl->window;
- y = m->y; x = m->x;
+ y = m->y + m->oy; x = m->x + m->ox;
if (m->statusat == 0 && y > 0)
y--;
else if (m->statusat > 0 && y >= (u_int)m->statusat)
diff --git a/cmd.c b/cmd.c
index 13d0570f..1d52da65 100644
--- a/cmd.c
+++ b/cmd.c
@@ -483,8 +483,8 @@ cmd_mouse_at(struct window_pane *wp, struct mouse_event *m, u_int *xp,
x = m->lx + m->ox;
y = m->ly + m->oy;
} else {
- x = m->x;
- y = m->y;
+ x = m->x + m->ox;
+ y = m->y + m->oy;
}
log_debug("%s: x=%u, y=%u%s", __func__, x, y, last ? " (last)" : "");
diff --git a/server-client.c b/server-client.c
index 34a94b27..c72278f1 100644
--- a/server-client.c
+++ b/server-client.c
@@ -446,6 +446,8 @@ server_client_check_mouse(struct client *c, struct key_event *event)
type = DRAG;
if (c->tty.mouse_drag_flag) {
x = m->x, y = m->y, b = m->b;
+ if (x == m->lx && y == m->ly)
+ return (KEYC_UNKNOWN);
log_debug("drag update at %u,%u", x, y);
} else {
x = m->lx, y = m->ly, b = m->lb;
@@ -553,8 +555,6 @@ have_event:
return (KEYC_UNKNOWN);
px = px + m->ox;
py = py + m->oy;
- m->x = x + m->ox;
- m->y = y + m->oy;
/* Try the pane borders if not zoomed. */
if (~s->curw->window->flags & WINDOW_ZOOMED) {
diff --git a/tty-keys.c b/tty-keys.c
index 1aecbcb2..90f34877 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -429,6 +429,7 @@ tty_keys_build(struct tty *tty)
if (o != NULL) {
a = options_array_first(o);
while (a != NULL) {
+ i = options_array_item_index(a);
ov = options_array_item_value(a);
tty_keys_add(tty, ov->string, KEYC_USER + i);
a = options_array_next(a);
diff --git a/window-copy.c b/window-copy.c
index f8569d79..4ff6b9dd 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -3505,6 +3505,8 @@ window_copy_start_drag(struct client *c, struct mouse_event *m)
window_copy_update_cursor(wme, x, y);
window_copy_start_selection(wme);
window_copy_redraw_screen(wme);
+
+ window_copy_drag_update(c, m);
}
static void