Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
        }
}
Exemplo n.º 6
0
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);
}
Exemplo n.º 7
0
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);
}