Пример #1
0
void BKE_spacedata_freelist(ListBase *lb)
{
	SpaceLink *sl;
	ARegion *ar;
	
	for (sl = lb->first; sl; sl = sl->next) {
		SpaceType *st = BKE_spacetype_from_id(sl->spacetype);
		
		/* free regions for pushed spaces */
		for (ar = sl->regionbase.first; ar; ar = ar->next)
			BKE_area_region_free(st, ar);

		BLI_freelistN(&sl->regionbase);
		
		if (st && st->free) 
			st->free(sl);
	}
	
	BLI_freelistN(lb);
}