Example #1
0
void		free_links(t_link *link)
{
	if (link)
	{
		if (link->next)
			free_links(link->next);
		free(link);
	}
}
Example #2
0
void		free_list(t_lem *list)
{
	if (list)
	{
		if (list->next)
			free_list(list->next);
		free_links(list->link);
		free(list->name);
		free(list);
	}
}
Example #3
0
static void
ttx_window_finalize (GObject *obj)
{
	TTXWindow *self;

	self = TTX_WINDOW(obj);

	free_links (self);
	reset_img_file (self, NULL);
	
	if (self->priv->settings)
		g_object_unref (self->priv->settings);

	g_free (self->priv->prov_id);

	G_OBJECT_CLASS(parent_class)->finalize (G_OBJECT(self));
}
Example #4
0
// this function should only be called right after a campaign is loaded.  Calling it a second
// time without having loaded a campaign again will result in undefined behavior.
void campaign_tree_view::construct_tree()
{
	int i;
	free_links();

	// initialize mission link counts
	for (i=0; i<Campaign.num_missions; i++) {
		Elements[i].from_links = Elements[i].to_links = 0;
	}

	// analyze branching sexps and build links from them.
	int link_idx = 0;
	for (i=0; i<Campaign.num_missions; i++) {

		// do main campaign path
		stuff_link_with_formula(&link_idx, Campaign.missions[i].formula, i);

		// do mission loop path
		if ( Campaign.missions[i].has_mission_loop ) {
			stuff_link_with_formula(&link_idx, Campaign.missions[i].mission_loop_formula, i);
			Links[link_idx-1].mission_loop_txt = Campaign.missions[i].mission_loop_desc;
			Links[link_idx-1].mission_loop_brief_anim = Campaign.missions[i].mission_loop_brief_anim;
			Links[link_idx-1].mission_loop_brief_sound = Campaign.missions[i].mission_loop_brief_sound;
			Links[link_idx-1].mission_loop = 1;
		}
	}

	for (i=0; i<Campaign.num_missions; i++) {
		Sorted[i] = i;
	}

	Total_links = link_idx;
	if (Campaign.realign_required) {
		realign_tree();
		Campaign.realign_required = 0;
	}
}
Example #5
0
static void
add_links (TTXWindow *self, GSList *links)
{
	free_links (self);
	self->priv->links = links;
}