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