diff --git a/TODO b/TODO index 7074824..7913e2e 100644 --- a/TODO +++ b/TODO @@ -10,3 +10,4 @@ - fix error handling. In particular, ply_open_module gets it completely wrong (replies on errno instead of dlerror()) - consider moving text code from ply-window to a ply-text-buffer analog of ply-frame-buffer - maybe watch for VT switches and do things like restoring text color palette and stopping drawing the framebuffer +- clean up the event loop watch api to always be in terms of watch objects instead of function/user_data pairs. diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c index 4c84f9d..2be07cd 100644 --- a/src/libply/ply-event-loop.c +++ b/src/libply/ply-event-loop.c @@ -810,7 +810,8 @@ ply_event_loop_stop_watching_signal (ply_event_loop_t *loop, node = ply_signal_dispatcher_find_source_node (loop->signal_dispatcher, signal_number); - assert (node != NULL); + if (node == NULL) + return; ply_signal_dispatcher_remove_source_node (loop->signal_dispatcher, node); } diff --git a/src/main.c b/src/main.c index 240fe2a..dffae0a 100644 --- a/src/main.c +++ b/src/main.c @@ -176,6 +176,7 @@ static void on_hide_splash (state_t *state) { + ply_trace ("hiding boot splash"); if (state->boot_splash != NULL) { ply_boot_splash_hide (state->boot_splash); @@ -183,8 +184,10 @@ on_hide_splash (state_t *state) state->boot_splash = NULL; } + ply_trace ("closing splash window"); if (state->window != NULL) { + ply_window_close (state->window); ply_window_free (state->window); state->window = NULL; }