KX_LightObject::~KX_LightObject() { if (m_lightobj) { m_rasterizer->RemoveLight(m_lightobj); delete(m_lightobj); } if (m_base) { BKE_scene_base_unlink(m_blenderscene, m_base); MEM_freeN(m_base); } }
/* Some reamapping unfortunately require extra and/or specific handling, tackle those here. */ static void libblock_remap_data_preprocess_scene_base_unlink( IDRemap *r_id_remap_data, Scene *sce, Base *base, const bool skip_indirect, const bool is_indirect) { if (skip_indirect && is_indirect) { r_id_remap_data->skipped_indirect++; r_id_remap_data->skipped_refcounted++; } else { id_us_min((ID *)base->object); BKE_scene_base_unlink(sce, base); MEM_freeN(base); if (!is_indirect) { r_id_remap_data->status |= ID_REMAP_IS_LINKED_DIRECT; } } }