diff options
Diffstat (limited to 'uisimulator/sdl/uisdl.c')
-rw-r--r-- | uisimulator/sdl/uisdl.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/uisimulator/sdl/uisdl.c b/uisimulator/sdl/uisdl.c index 052fd4af83..37a0e6fe7a 100644 --- a/uisimulator/sdl/uisdl.c +++ b/uisimulator/sdl/uisdl.c | |||
@@ -41,6 +41,8 @@ | |||
41 | extern void app_main (void *); /* mod entry point */ | 41 | extern void app_main (void *); /* mod entry point */ |
42 | extern void new_key(int key); | 42 | extern void new_key(int key); |
43 | extern void sim_tick_tasks(void); | 43 | extern void sim_tick_tasks(void); |
44 | extern void sim_io_init(void); | ||
45 | extern void sim_io_shutdown(void); | ||
44 | 46 | ||
45 | void button_event(int key, bool pressed); | 47 | void button_event(int key, bool pressed); |
46 | 48 | ||
@@ -167,16 +169,9 @@ bool gui_startup(void) | |||
167 | 169 | ||
168 | bool gui_shutdown(void) | 170 | bool gui_shutdown(void) |
169 | { | 171 | { |
170 | int i; | ||
171 | |||
172 | SDL_KillThread(gui_thread); | ||
173 | SDL_RemoveTimer(tick_timer_id); | 172 | SDL_RemoveTimer(tick_timer_id); |
174 | 173 | kill_sim_threads(); | |
175 | for (i = 0; i < threadCount; i++) | 174 | sim_io_shutdown(); |
176 | { | ||
177 | SDL_KillThread(threads[i]); | ||
178 | } | ||
179 | |||
180 | return true; | 175 | return true; |
181 | } | 176 | } |
182 | 177 | ||
@@ -236,6 +231,8 @@ int main(int argc, char *argv[]) | |||
236 | background = false; | 231 | background = false; |
237 | } | 232 | } |
238 | 233 | ||
234 | sim_io_init(); | ||
235 | |||
239 | if (!gui_startup()) | 236 | if (!gui_startup()) |
240 | return -1; | 237 | return -1; |
241 | 238 | ||