void ply_terminal_free (ply_terminal_t *terminal) { if (terminal == NULL) return; if (terminal->loop != NULL) { ply_event_loop_stop_watching_for_exit (terminal->loop, (ply_event_loop_exit_handler_t) ply_terminal_detach_from_event_loop, terminal); if (terminal->number_of_reopen_tries > 0) { ply_event_loop_stop_watching_for_timeout (terminal->loop, (ply_event_loop_timeout_handler_t) ply_terminal_reopen_device, terminal); } } if (terminal->is_open) ply_terminal_close (terminal); free_vt_change_closures (terminal); free_input_closures (terminal); free (terminal->name); free (terminal); }
static void destroy_plugin (ply_boot_splash_plugin_t *plugin) { if (plugin == NULL) return; if (plugin->loop != NULL) { stop_animation (plugin); ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t) detach_from_event_loop, plugin); detach_from_event_loop (plugin); } ply_image_free (plugin->box_image); ply_image_free (plugin->lock_image); if (plugin->corner_image != NULL) ply_image_free (plugin->corner_image); free_views (plugin); free (plugin); }
static void destroy_plugin (ply_boot_splash_plugin_t *plugin) { ply_list_node_t *node; script_env_var_t *env_var; if (plugin == NULL) return; if (plugin->loop != NULL) { stop_animation (plugin); ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t) detach_from_event_loop, plugin); detach_from_event_loop (plugin); } for (node = ply_list_get_first_node (plugin->script_env_vars); node != NULL; node = ply_list_get_next_node (plugin->script_env_vars, node)) { env_var = ply_list_node_get_data (node); free (env_var->key); free (env_var->value); free (env_var); } ply_list_free (plugin->script_env_vars); free (plugin->script_filename); free (plugin->image_dir); free (plugin); }
void ply_text_display_free (ply_text_display_t *display) { if (display == NULL) return; if (display->loop != NULL) ply_event_loop_stop_watching_for_exit (display->loop, (ply_event_loop_exit_handler_t) ply_text_display_detach_from_event_loop, display); free (display); }
static void hide_splash_screen (ply_boot_splash_plugin_t *plugin, ply_event_loop_t *loop) { assert (plugin != NULL); if (plugin->loop != NULL) { stop_animation (plugin); ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t) detach_from_event_loop, plugin); detach_from_event_loop (plugin); } }
static void destroy_plugin (ply_boot_splash_plugin_t *plugin) { if (plugin == NULL) return; if (plugin->loop != NULL) { stop_animation (plugin); ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t) detach_from_event_loop, plugin); detach_from_event_loop (plugin); } free (plugin->script_filename); free (plugin->image_dir); free (plugin); }
static void hide_splash_screen (ply_boot_splash_plugin_t *plugin, ply_event_loop_t *loop) { assert (plugin != NULL); ply_trace ("hiding splash screen"); if (plugin->loop != NULL) { stop_animation (plugin); ply_event_loop_stop_watching_for_exit (plugin->loop, (ply_event_loop_exit_handler_t) detach_from_event_loop, plugin); detach_from_event_loop (plugin); } hide_views (plugin); ply_show_new_kernel_messages (true); }