summaryrefslogtreecommitdiff
path: root/src/termhooks.h
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2006-05-20 12:20:41 +0000
committerKaroly Lorentey <lorentey@elte.hu>2006-05-20 12:20:41 +0000
commita98f16179037d21357c817701c5181ac37fec0a2 (patch)
tree6057eb2ba02d9f55d2be2d61f4bb04956e0fb3f0 /src/termhooks.h
parent4a6657585e59c464789c2039241b0c3a74d16199 (diff)
downloademacs-a98f16179037d21357c817701c5181ac37fec0a2.tar.gz
Fix crashes in `delete-terminal' caused by recursive calls or X displays with live frames.
* src/termhooks.h (terminal) <deleted>: New member. * src/term.c (delete_tty): Use it. (deleting_tty): Remove old variable. * src/terminal.c (delete_terminal): Use terminal->deleted. * src/xterm.c (x_delete_terminal): Use terminal->deleted. Delete all frames on the display explicitly. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-562
Diffstat (limited to 'src/termhooks.h')
-rw-r--r--src/termhooks.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/termhooks.h b/src/termhooks.h
index 8937a709f85..46fb0c453f5 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -299,7 +299,11 @@ struct terminal
/* The number of frames that are on this terminal. */
int reference_count;
-
+
+ /* Nonzero while deleting this terminal. Used to protect against
+ recursive calls to delete_terminal_hook. */
+ int deleted;
+
/* The type of the terminal device. */
enum output_method type;