diff options
author | nicm <nicm> | 2019-07-06 20:56:34 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-07-06 20:56:34 +0000 |
commit | ddf53d6e4e76463e6d777b2de7304572333935e9 (patch) | |
tree | 11195c56e3699e1a9dc8e96b2054ef4505770dda /server-client.c | |
parent | 3635b3cd6c3343b2ec3f7173facef8a284e7e613 (diff) | |
download | rtmux-ddf53d6e4e76463e6d777b2de7304572333935e9.tar.gz rtmux-ddf53d6e4e76463e6d777b2de7304572333935e9.tar.bz2 rtmux-ddf53d6e4e76463e6d777b2de7304572333935e9.zip |
Correctly adjust mouse position if the status line is at the top and
more than one line. GitHub issue 1822.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/server-client.c b/server-client.c index 7aeead41..3fd16ec5 100644 --- a/server-client.c +++ b/server-client.c @@ -524,9 +524,10 @@ have_event: /* Is this on the status line? */ m->statusat = status_at_line(c); + m->statuslines = status_line_size(c); if (m->statusat != -1 && y >= (u_int)m->statusat && - y < m->statusat + status_line_size(c)) { + y < m->statusat + m->statuslines) { sr = status_get_range(c, x, y - m->statusat); if (sr == NULL) { where = STATUS_DEFAULT; @@ -555,8 +556,8 @@ have_event: /* Not on status line. Adjust position and check for border or pane. */ if (where == NOWHERE) { px = x; - if (m->statusat == 0 && y > 0) - py = y - 1; + if (m->statusat == 0 && y >= m->statuslines) + py = y - m->statuslines; else if (m->statusat > 0 && y >= (u_int)m->statusat) py = m->statusat - 1; else |