summaryrefslogtreecommitdiff
path: root/uisimulator/sdl/uisdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/sdl/uisdl.c')
-rw-r--r--uisimulator/sdl/uisdl.c15
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 @@
41extern void app_main (void *); /* mod entry point */ 41extern void app_main (void *); /* mod entry point */
42extern void new_key(int key); 42extern void new_key(int key);
43extern void sim_tick_tasks(void); 43extern void sim_tick_tasks(void);
44extern void sim_io_init(void);
45extern void sim_io_shutdown(void);
44 46
45void button_event(int key, bool pressed); 47void button_event(int key, bool pressed);
46 48
@@ -167,16 +169,9 @@ bool gui_startup(void)
167 169
168bool gui_shutdown(void) 170bool 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