Mercurial > vim
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) |