diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/haikuterm.c | 20 |
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, | |||
| 115 | static void | 115 | static void |
| 116 | haiku_delete_terminal (struct terminal *terminal) | 116 | haiku_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 | ||
| 121 | static const char * | 139 | static const char * |