Mercurial > vim
comparison src/evalvars.c @ 27805:afbe86e8b24a v8.2.4428
patch 8.2.4428: crash when switching tabpage while in the cmdline window
Commit: https://github.com/vim/vim/commit/0f6e28f686dbb59ab3b562408ab9b2234797b9b1
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 20 20:49:35 2022 +0000
patch 8.2.4428: crash when switching tabpage while in the cmdline window
Problem: Crash when switching tabpage while in the cmdline window.
Solution: Disallow switching tabpage when in the cmdline window.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 20 Feb 2022 22:00:03 +0100 |
parents | d754ac2f5ac5 |
children | 27956f5e263c |
comparison
equal
deleted
inserted
replaced
27804:8fc68ce4a097 | 27805:afbe86e8b24a |
---|---|
2197 return cat_prefix_varname('g', hi->hi_key); | 2197 return cat_prefix_varname('g', hi->hi_key); |
2198 return hi->hi_key; | 2198 return hi->hi_key; |
2199 } | 2199 } |
2200 | 2200 |
2201 // b: variables | 2201 // b: variables |
2202 ht = | 2202 ht = &prevwin_curwin()->w_buffer->b_vars->dv_hashtab; |
2203 #ifdef FEAT_CMDWIN | |
2204 // In cmdwin, the alternative buffer should be used. | |
2205 is_in_cmdwin() ? &prevwin->w_buffer->b_vars->dv_hashtab : | |
2206 #endif | |
2207 &curbuf->b_vars->dv_hashtab; | |
2208 if (bdone < ht->ht_used) | 2203 if (bdone < ht->ht_used) |
2209 { | 2204 { |
2210 if (bdone++ == 0) | 2205 if (bdone++ == 0) |
2211 hi = ht->ht_array; | 2206 hi = ht->ht_array; |
2212 else | 2207 else |
2215 ++hi; | 2210 ++hi; |
2216 return cat_prefix_varname('b', hi->hi_key); | 2211 return cat_prefix_varname('b', hi->hi_key); |
2217 } | 2212 } |
2218 | 2213 |
2219 // w: variables | 2214 // w: variables |
2220 ht = | 2215 ht = &prevwin_curwin()->w_vars->dv_hashtab; |
2221 #ifdef FEAT_CMDWIN | |
2222 // In cmdwin, the alternative window should be used. | |
2223 is_in_cmdwin() ? &prevwin->w_vars->dv_hashtab : | |
2224 #endif | |
2225 &curwin->w_vars->dv_hashtab; | |
2226 if (wdone < ht->ht_used) | 2216 if (wdone < ht->ht_used) |
2227 { | 2217 { |
2228 if (wdone++ == 0) | 2218 if (wdone++ == 0) |
2229 hi = ht->ht_array; | 2219 hi = ht->ht_array; |
2230 else | 2220 else |