mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 05:35:10 -07:00
vim-patch:7.4.368
Problem: Restoring the window sizes after closing the command line window doesn't work properly if there are nested splits. Solution: Restore the sizes twice. (Hirohito Higashi) https://code.google.com/p/vim/source/detail?r=v7-4-368
This commit is contained in:
parent
3b7b79e37d
commit
f5320f645b
@ -227,7 +227,7 @@ static int included_patches[] = {
|
||||
371,
|
||||
370,
|
||||
//369,
|
||||
//368,
|
||||
368,
|
||||
367,
|
||||
//366,
|
||||
//365,
|
||||
|
@ -3800,10 +3800,15 @@ void win_size_save(garray_T *gap)
|
||||
void win_size_restore(garray_T *gap)
|
||||
{
|
||||
if (win_count() * 2 == gap->ga_len) {
|
||||
int i = 0;
|
||||
FOR_ALL_WINDOWS(wp) {
|
||||
frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]);
|
||||
win_setheight_win(((int *)gap->ga_data)[i++], wp);
|
||||
/* The order matters, because frames contain other frames, but it's
|
||||
* difficult to get right. The easy way out is to do it twice. */
|
||||
for (int j = 0; j < 2; ++j)
|
||||
{
|
||||
int i = 0;
|
||||
FOR_ALL_WINDOWS(wp) {
|
||||
frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]);
|
||||
win_setheight_win(((int *)gap->ga_data)[i++], wp);
|
||||
}
|
||||
}
|
||||
/* recompute the window positions */
|
||||
(void)win_comp_pos();
|
||||
|
Loading…
Reference in New Issue
Block a user