summaryrefslogtreecommitdiffstats
path: root/cmd-swap-pane.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-07-20 07:13:31 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-07-20 07:13:31 +0000
commitff2cc0e38709b285293fd38ab720f4eb785ce361 (patch)
tree0e617a497c91cbd99c664edf7fc3c92dd4730dce /cmd-swap-pane.c
parent550b855c9d41cfb576007e20ba55f0f53937e8f6 (diff)
Move the offsets as well when swapping panes.
Diffstat (limited to 'cmd-swap-pane.c')
-rw-r--r--cmd-swap-pane.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/cmd-swap-pane.c b/cmd-swap-pane.c
index 0f0633d8..be8b2e07 100644
--- a/cmd-swap-pane.c
+++ b/cmd-swap-pane.c
@@ -158,7 +158,7 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
struct window *w;
struct window_pane *tmp_wp, *src_wp, *dst_wp;
struct layout_cell *lc;
- u_int xx, yy;
+ u_int sx, sy, xoff, yoff;
if (data == NULL)
return (0);
@@ -209,8 +209,6 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
TAILQ_INSERT_AFTER(&w->panes, tmp_wp, src_wp, entry);
lc = src_wp->layout_cell;
- xx = src_wp->xoff;
- yy = src_wp->yoff;
src_wp->layout_cell = dst_wp->layout_cell;
if (src_wp->layout_cell != NULL)
src_wp->layout_cell->wp = src_wp;
@@ -218,10 +216,12 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
if (dst_wp->layout_cell != NULL)
dst_wp->layout_cell->wp = dst_wp;
- xx = src_wp->sx;
- yy = src_wp->sy;
+ sx = src_wp->sx; sy = src_wp->sy;
+ xoff = src_wp->xoff; yoff = src_wp->yoff;
+ src_wp->xoff = dst_wp->xoff; src_wp->yoff = dst_wp->yoff;
window_pane_resize(src_wp, dst_wp->sx, dst_wp->sy);
- window_pane_resize(dst_wp, xx, yy);
+ dst_wp->xoff = xoff; dst_wp->yoff = yoff;
+ window_pane_resize(dst_wp, sx, sy);
if (!data->flag_detached) {
tmp_wp = dst_wp;