diff options
| author | Martin Rudalics | 2017-09-03 11:30:16 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2017-09-03 11:30:16 +0200 |
| commit | d577d1609c6c9d11b6af30a33e02bb21ffa821fd (patch) | |
| tree | 129d78e9684f7c0204a0b5939ff46899ad475950 /src | |
| parent | 71766a45f1edb02ec5107803a7f7a8e17809b093 (diff) | |
| download | emacs-d577d1609c6c9d11b6af30a33e02bb21ffa821fd.tar.gz emacs-d577d1609c6c9d11b6af30a33e02bb21ffa821fd.zip | |
In delete_frame do not delete terminal for any toolkit build
* src/frame.c (delete_frame): Neither delete terminal for
non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
Bug#27816).
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c index 5099f75be4d..6e0c51b2f5f 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -2026,13 +2026,17 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 2026 | /* If needed, delete the terminal that this frame was on. | 2026 | /* If needed, delete the terminal that this frame was on. |
| 2027 | (This must be done after the frame is killed.) */ | 2027 | (This must be done after the frame is killed.) */ |
| 2028 | terminal->reference_count--; | 2028 | terminal->reference_count--; |
| 2029 | #ifdef USE_GTK | 2029 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) |
| 2030 | /* FIXME: Deleting the terminal crashes emacs because of a GTK | 2030 | /* FIXME: Deleting the terminal crashes emacs because of a GTK |
| 2031 | bug. | 2031 | bug. |
| 2032 | http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00363.html */ | 2032 | http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00363.html */ |
| 2033 | |||
| 2034 | /* Since a similar behavior was observed on the Lucid and Motif | ||
| 2035 | builds (see Bug#5802, Bug#21509, Bug#23499, Bug#27816), we now | ||
| 2036 | don't delete the terminal for these builds either. */ | ||
| 2033 | if (terminal->reference_count == 0 && terminal->type == output_x_window) | 2037 | if (terminal->reference_count == 0 && terminal->type == output_x_window) |
| 2034 | terminal->reference_count = 1; | 2038 | terminal->reference_count = 1; |
| 2035 | #endif /* USE_GTK */ | 2039 | #endif /* USE_X_TOOLKIT || USE_GTK */ |
| 2036 | if (terminal->reference_count == 0) | 2040 | if (terminal->reference_count == 0) |
| 2037 | { | 2041 | { |
| 2038 | Lisp_Object tmp; | 2042 | Lisp_Object tmp; |