comparison src/window.c @ 19275:2142fb624658 v8.2.0196

patch 8.2.0196: blocking commands for a finished job in a popup window Commit: https://github.com/vim/vim/commit/d98c0b63abd7b0e61a383669474abe96044615af Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 2 15:25:16 2020 +0100 patch 8.2.0196: blocking commands for a finished job in a popup window Problem: Blocking commands for a finished job in a popup window. Solution: Do not block commands if the job has finished. Adjust test.
author Bram Moolenaar <Bram@vim.org>
date Sun, 02 Feb 2020 15:30:04 +0100
parents ebeeb4b4a1fa
children 1d6bc6b31c2e
comparison
equal deleted inserted replaced
19274:ca1f1b78a0b4 19275:2142fb624658
2439 frame_T *win_frame = win->w_frame->fr_parent; 2439 frame_T *win_frame = win->w_frame->fr_parent;
2440 #ifdef FEAT_DIFF 2440 #ifdef FEAT_DIFF
2441 int had_diffmode = win->w_p_diff; 2441 int had_diffmode = win->w_p_diff;
2442 #endif 2442 #endif
2443 2443
2444 #if defined(FEAT_TERMINAL) && defined(FEAT_PROP_POPUP)
2445 // Can close a popup window with a terminal if the job has finished.
2446 if (may_close_term_popup() == OK)
2447 return OK;
2448 #endif
2444 if (ERROR_IF_ANY_POPUP_WINDOW) 2449 if (ERROR_IF_ANY_POPUP_WINDOW)
2445 return FAIL; 2450 return FAIL;
2446 2451
2447 if (last_window()) 2452 if (last_window())
2448 { 2453 {
6437 only_one_window(void) 6442 only_one_window(void)
6438 { 6443 {
6439 int count = 0; 6444 int count = 0;
6440 win_T *wp; 6445 win_T *wp;
6441 6446
6447 #if defined(FEAT_PROP_POPUP)
6448 // If the current window is a popup then there always is another window.
6449 if (popup_is_popup(curwin))
6450 return FALSE;
6451 #endif
6452
6442 // If there is another tab page there always is another window. 6453 // If there is another tab page there always is another window.
6443 if (first_tabpage->tp_next != NULL) 6454 if (first_tabpage->tp_next != NULL)
6444 return FALSE; 6455 return FALSE;
6445 6456
6446 FOR_ALL_WINDOWS(wp) 6457 FOR_ALL_WINDOWS(wp)