aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-03-20 05:51:19 +0000
committerPo Lu2022-03-20 05:52:30 +0000
commita232a8a22c6a228d871ff8df7cd25b0cabe3e5fb (patch)
tree13d2378dc22bcbe936b283ff6dfa112bb7f9f22a /src
parentb19b9cbe514a8b75ec20e0056cba91b465057614 (diff)
downloademacs-a232a8a22c6a228d871ff8df7cd25b0cabe3e5fb.tar.gz
emacs-a232a8a22c6a228d871ff8df7cd25b0cabe3e5fb.zip
Implement `haiku_delete_terminal'
* src/haikuterm.c (haiku_delete_terminal): Actually delete the terminal instead of aborting.
Diffstat (limited to 'src')
-rw-r--r--src/haikuterm.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/haikuterm.c b/src/haikuterm.c
index 4ae64129ef1..221bdfd2ee1 100644
--- a/src/haikuterm.c
+++ b/src/haikuterm.c
@@ -115,7 +115,25 @@ haiku_toolkit_position (struct frame *f, int x, int y,
115static void 115static void
116haiku_delete_terminal (struct terminal *terminal) 116haiku_delete_terminal (struct terminal *terminal)
117{ 117{
118 emacs_abort (); 118 struct haiku_display_info *dpyinfo = terminal->display_info.haiku;
119 struct terminal *t;
120
121 if (!terminal->name)
122 return;
123
124 block_input ();
125 be_app_quit ();
126
127 /* Close all frames and delete the generic struct terminal. */
128 for (t = terminal_list; t; t = t->next_terminal)
129 {
130 if (t->type == output_haiku && t->display_info.haiku == dpyinfo)
131 {
132 delete_terminal (t);
133 break;
134 }
135 }
136 unblock_input ();
119} 137}
120 138
121static const char * 139static const char *