Пример #1
0
/* lb1 should be empty */
void BKE_spacedata_copylist(ListBase *lb1, ListBase *lb2)
{
	SpaceLink *sl;
	
	BLI_listbase_clear(lb1);  /* to be sure */
	
	for (sl = lb2->first; sl; sl = sl->next) {
		SpaceType *st = BKE_spacetype_from_id(sl->spacetype);
		
		if (st && st->duplicate) {
			SpaceLink *slnew = st->duplicate(sl);
			
			BLI_addtail(lb1, slnew);
			
			region_copylist(st, &slnew->regionbase, &sl->regionbase);
		}
	}
}