aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
diff options
context:
space:
mode:
authorGrzegorz Milka <grzegorzmilka@gmail.com>2016-10-18 21:04:57 +0200
committerGrzegorz Milka <grzegorzmilka@gmail.com>2016-10-22 23:43:14 +0200
commit9ca90fdb9fda017962129125ea886fbf07345f62 (patch)
tree8c5003ec5d97666cadb1a20c1cf463c08bf37c78 /src/nvim/window.c
parent500c485e36759f23654de3ce792f3d3b68936c01 (diff)
downloadrneovim-9ca90fdb9fda017962129125ea886fbf07345f62.tar.gz
rneovim-9ca90fdb9fda017962129125ea886fbf07345f62.tar.bz2
rneovim-9ca90fdb9fda017962129125ea886fbf07345f62.zip
vim-patch:7.4.2212
Problem: Mark " is not set when closing a window in another tab. (Guraga) Solution: Check all tabs for the window to be valid. (based on patch by Hirohito Higashi, closes vim/vim#974) https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r--src/nvim/window.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 03a2e9a842..c4e48a9732 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -1065,6 +1065,23 @@ bool win_valid(win_T *win) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
return false;
}
+/// Check if "win" is a pointer to an existing window in any tabpage.
+///
+/// @param win window to check
+bool win_valid_any_tab(win_T *win) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
+{
+ if (win == NULL) {
+ return false;
+ }
+
+ FOR_ALL_TAB_WINDOWS(tp, wp) {
+ if (wp == win) {
+ return true;
+ }
+ }
+ return false;
+}
+
/*
* Return the number of windows.
*/