static void errorscreen_free(ErrorScreen *error) { if (error == NULL) return; button_free(error->quit); text_osd_free(error->message); rect_osd_free(error->background); screen_free(error->screen); g_free(error); }
void interface_free(struct twinterface *twinterface) { button_free(twinterface->btn_play); button_free(twinterface->btn_reverse); button_free(twinterface->btn_deck); button_free(twinterface->btn_touch_mode); fader_free(twinterface->fader); closeup_free(twinterface->closeup); overview_free(twinterface->overview); //label_free(twinterface->label_pitch); SDL_FreeSurface(twinterface->surface); SDL_DestroyTexture(twinterface->texture); SDL_DestroyRenderer(twinterface->renderer); SDL_DestroyWindow(twinterface->window); SDL_RemoveTimer(twinterface->timer); free(twinterface); SDL_Quit(); }
static void manager_free(Manager *m) { Session *session; User *u; Device *d; Seat *s; Inhibitor *i; Button *b; assert(m); while ((session = hashmap_first(m->sessions))) session_free(session); while ((u = hashmap_first(m->users))) user_free(u); while ((d = hashmap_first(m->devices))) device_free(d); while ((s = hashmap_first(m->seats))) seat_free(s); while ((i = hashmap_first(m->inhibitors))) inhibitor_free(i); while ((b = hashmap_first(m->buttons))) button_free(b); hashmap_free(m->devices); hashmap_free(m->seats); hashmap_free(m->sessions); hashmap_free(m->users); hashmap_free(m->inhibitors); hashmap_free(m->buttons); hashmap_free(m->user_units); hashmap_free(m->session_units); sd_event_source_unref(m->idle_action_event_source); sd_event_source_unref(m->inhibit_timeout_source); sd_event_source_unref(m->scheduled_shutdown_timeout_source); sd_event_source_unref(m->nologin_timeout_source); sd_event_source_unref(m->wall_message_timeout_source); sd_event_source_unref(m->console_active_event_source); sd_event_source_unref(m->udev_seat_event_source); sd_event_source_unref(m->udev_device_event_source); sd_event_source_unref(m->udev_vcsa_event_source); sd_event_source_unref(m->udev_button_event_source); sd_event_source_unref(m->lid_switch_ignore_event_source); safe_close(m->console_active_fd); udev_monitor_unref(m->udev_seat_monitor); udev_monitor_unref(m->udev_device_monitor); udev_monitor_unref(m->udev_vcsa_monitor); udev_monitor_unref(m->udev_button_monitor); udev_unref(m->udev); if (m->unlink_nologin) (void) unlink("/run/nologin"); bus_verify_polkit_async_registry_free(m->polkit_registry); sd_bus_unref(m->bus); sd_event_unref(m->event); safe_close(m->reserve_vt_fd); strv_free(m->kill_only_users); strv_free(m->kill_exclude_users); free(m->scheduled_shutdown_type); free(m->scheduled_shutdown_tty); free(m->wall_message); free(m->action_job); free(m); }
void cleanup_angband(void) { int i; delete_notes_file(); /* Free the macros */ macro_free(); /* Free the macro triggers */ macro_trigger_free(); /* Free the allocation tables */ FREE(alloc_ego_table); FREE(alloc_feat_table); FREE(alloc_race_table); FREE(alloc_kind_table); if (store) { /* Free the store inventories */ for (i = 0; i < MAX_STORES; i++) { /* Get the store */ store_type *st_ptr = &store[i]; /* Free the store inventory */ FREE(st_ptr->stock); } } /* Free the stores */ FREE(store); event_remove_all_handlers(); /* free the buttons */ button_free(); /* Free the player inventory */ FREE(inventory); /*Clean the Autoinscribe*/ autoinscribe_clean(); /* Free the lore, monster, effects, and object lists */ FREE(l_list); FREE(f_l_list); FREE(a_l_list); FREE(mon_list); FREE(o_list); FREE(x_list); #ifdef MONSTER_SMELL /* Flow arrays */ FREE(cave_when); #endif /* MONSTER_SMELL */ /* Free the cave */ FREE(cave_o_idx); FREE(cave_m_idx); FREE(cave_x_idx); FREE(cave_feat); FREE(cave_info); /* Prepare monster movement array*/ FREE(mon_moment_info); /* Free the "update_view()" array */ FREE(view_g); /* Free the other "update_view()" array */ FREE(fire_g); /* Free the temp array */ FREE(temp_g); FREE(temp_y); FREE(temp_x); /* Free the dynamic features array */ FREE(dyna_g); /* Free the stacked monster messages */ FREE(mon_msg); FREE(mon_message_hist); /* Free the messages */ messages_free(); /* Free the "quarks" */ quarks_free(); /*free the randart arrays*/ free_randart_tables(); /* Free the info, name, and text arrays */ free_info(&flavor_head); free_info(&g_head); free_info(&b_head); free_info(&c_head); free_info(&p_head); free_info(&h_head); free_info(&v_head); free_info(&r_head); free_info(&e_head); free_info(&a_head); free_info(&k_head); free_info(&t_head); free_info(&f_head); free_info(&z_head); free_info(&n_head); /* Free the format() buffer */ vformat_kill(); /* Free the directories */ string_free(ANGBAND_DIR); string_free(ANGBAND_DIR_APEX); string_free(ANGBAND_DIR_BONE); string_free(ANGBAND_DIR_DATA); string_free(ANGBAND_DIR_EDIT); string_free(ANGBAND_DIR_FILE); string_free(ANGBAND_DIR_HELP); string_free(ANGBAND_DIR_INFO); string_free(ANGBAND_DIR_SAVE); string_free(ANGBAND_DIR_PREF); string_free(ANGBAND_DIR_USER); string_free(ANGBAND_DIR_XTRA); }
void manager_free(Manager *m) { Session *session; User *u; Device *d; Seat *s; Inhibitor *i; Button *b; assert(m); while ((session = hashmap_first(m->sessions))) session_free(session); while ((u = hashmap_first(m->users))) user_free(u); while ((d = hashmap_first(m->devices))) device_free(d); while ((s = hashmap_first(m->seats))) seat_free(s); while ((i = hashmap_first(m->inhibitors))) inhibitor_free(i); while ((b = hashmap_first(m->buttons))) button_free(b); hashmap_free(m->devices); hashmap_free(m->seats); hashmap_free(m->sessions); hashmap_free(m->users); hashmap_free(m->inhibitors); hashmap_free(m->buttons); hashmap_free(m->user_units); hashmap_free(m->session_units); set_free_free(m->busnames); sd_event_source_unref(m->idle_action_event_source); sd_event_source_unref(m->console_active_event_source); sd_event_source_unref(m->udev_seat_event_source); sd_event_source_unref(m->udev_device_event_source); sd_event_source_unref(m->udev_vcsa_event_source); sd_event_source_unref(m->udev_button_event_source); sd_event_source_unref(m->lid_switch_ignore_event_source); safe_close(m->console_active_fd); if (m->udev_seat_monitor) udev_monitor_unref(m->udev_seat_monitor); if (m->udev_device_monitor) udev_monitor_unref(m->udev_device_monitor); if (m->udev_vcsa_monitor) udev_monitor_unref(m->udev_vcsa_monitor); if (m->udev_button_monitor) udev_monitor_unref(m->udev_button_monitor); if (m->udev) udev_unref(m->udev); bus_verify_polkit_async_registry_free(m->bus, m->polkit_registry); sd_bus_unref(m->bus); sd_event_unref(m->event); safe_close(m->reserve_vt_fd); strv_free(m->kill_only_users); strv_free(m->kill_exclude_users); free(m->action_job); free(m); }
void interface_widgets_init(struct twinterface *twinterface) { if(twinterface->overview) overview_free(twinterface->overview); twinterface->overview = overview_init(0, 0, 100, twinterface->viewport.h, &tracks[0], twinterface->renderer, twinterface); interface_closeup_init(twinterface); if(twinterface->btn_play) button_free(twinterface->btn_play); twinterface->btn_play = button_init(twinterface->viewport.w-400, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_play_callback, &interface_button_play_color_callback); if(twinterface->btn_reset) button_free(twinterface->btn_reset); twinterface->btn_reset = button_init(twinterface->viewport.w-300, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_reset_callback, &interface_button_reset_color_callback); if(twinterface->btn_reverse) button_free(twinterface->btn_reverse); twinterface->btn_reverse = button_init(twinterface->viewport.w-200, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_reverse_callback, &interface_button_reverse_color_callback); if(twinterface->btn_deck) button_free(twinterface->btn_deck); twinterface->btn_deck = button_init(200, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_deck_callback, &interface_button_deck_color_callback); if(twinterface->btn_touch_mode) button_free(twinterface->btn_touch_mode); twinterface->btn_touch_mode = button_init(100, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_touch_mode_callback, &interface_button_touch_mode_color_callback); // if(twinterface->label_pitch) // label_free(twinterface->label_pitch); // twinterface->label_pitch = label_init(twinterface->viewport.w-100, // 0, // 100, // 20, // "", // twinterface->renderer); if(twinterface->fader) fader_free(twinterface->fader); twinterface->fader = fader_init(twinterface->viewport.w-100, twinterface->viewport.h/2-50, 100, 100, twinterface->viewport.h, twinterface->renderer, twinterface); }