floating-window: fix crash setting cmdheight #9685

fixes #9680
This commit is contained in:
erw7 2019-03-09 22:10:56 +09:00 committed by Justin M. Keyes
parent 4352d41db0
commit f719247118
2 changed files with 11 additions and 3 deletions

View File

@ -5546,10 +5546,11 @@ void command_height(void)
* p_ch was changed in another tab page. */
curtab->tp_ch_used = p_ch;
/* Find bottom frame with width of screen. */
frp = lastwin->w_frame;
while (frp->fr_width != Columns && frp->fr_parent != NULL)
// Find bottom frame with width of screen.
frp = lastwin_nofloating()->w_frame;
while (frp->fr_width != Columns && frp->fr_parent != NULL) {
frp = frp->fr_parent;
}
/* Avoid changing the height of a window with 'winfixheight' set. */
while (frp->fr_prev != NULL && frp->fr_layout == FR_LEAF

View File

@ -1019,6 +1019,13 @@ describe('floating windows', function()
end
end)
it('does not crash when set cmdheight #9680', function()
local buf = meths.create_buf(false,false)
meths.open_win(buf, false, 20, 2, {relative='editor', row=2, col=5})
command("set cmdheight=2")
eq(1, meths.eval('1'))
end)
describe('and completion', function()
before_each(function()
local buf = meths.create_buf(false,false)