Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'

* refs/remotes/tmux-openbsd/master:
  Do not use subtraction for comparators, this doesn't really matter for IDs but it breaks key sorting. GitHub issue 5646 from Alexandre Fiori.
  Fix dragging a floating pane by its top border over a tiled pane's status line, GitHub issue 5645 from Michael Grant.
  Fix floating panes not being detected as obscuring the pane behind them, GitHub issue 5641 from Michael Grant.
  Exit 128 + SIGHUP like popups did if waiting for a pane that was killed, from Alexandre Fiori.
This commit is contained in:
tmux update bot
2026-09-28 12:05:39 +00:00
5 changed files with 94 additions and 38 deletions

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: screen-write.c,v 1.293 2026/09/24 11:19:39 nicm Exp $ */
/* $OpenBSD: screen-write.c,v 1.294 2026/09/28 10:10:16 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -201,15 +201,7 @@ screen_write_pane_is_obscured(struct screen_write_ctx *ctx)
}
while ((wp = TAILQ_PREV(wp, window_panes, zentry)) != NULL) {
if (window_pane_is_floating(wp) &&
((wp->yoff >= ctx->wp->yoff &&
wp->yoff <= ctx->wp->yoff + (int)ctx->wp->sy) ||
(wp->yoff + (int)wp->sy >= ctx->wp->yoff &&
wp->yoff + wp->sy <= ctx->wp->yoff + ctx->wp->sy)) &&
((wp->xoff >= ctx->wp->xoff &&
wp->xoff <= ctx->wp->xoff + (int)ctx->wp->sx) ||
(wp->xoff + (int)wp->sx >= ctx->wp->xoff &&
wp->xoff + wp->sx <= ctx->wp->xoff + ctx->wp->sx))) {
if (window_pane_floating_overlaps(wp, ctx->wp)) {
ctx->flags |= SCREEN_WRITE_OBSCURED;
return (1);
}