Example #1
0
static void rna_RenderEngine_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	RenderEngineType *et= RNA_struct_blender_type_get(type);

	if(!et)
		return;
	
	RNA_struct_free_extension(type, &et->ext);
	BLI_freelinkN(&R_engines, et);
	RNA_struct_free(&BLENDER_RNA, type);
}
Example #2
0
static void rna_RenderEngine_unregister(Main *bmain, StructRNA *type)
{
	RenderEngineType *et = RNA_struct_blender_type_get(type);

	if (!et)
		return;
	
	RNA_struct_free_extension(type, &et->ext);
	RNA_struct_free(&BLENDER_RNA, type);
	BLI_freelinkN(&R_engines, et);

	/* Stop all renders in case we were using this one. */
	ED_render_engine_changed(bmain);
}
Example #3
0
static void rna_KeyingSetInfo_unregister(Main *bmain, StructRNA *type)
{
	KeyingSetInfo *ksi = RNA_struct_blender_type_get(type);

	if (ksi == NULL)
		return;
	
	/* free RNA data referencing this */
	RNA_struct_free_extension(type, &ksi->ext);
	RNA_struct_free(&BLENDER_RNA, type);
	
	/* unlink Blender-side data */
	ANIM_keyingset_info_unregister(bmain, ksi);
}
Example #4
0
static void rna_Menu_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	MenuType *mt = RNA_struct_blender_type_get(type);

	if (!mt)
		return;

	RNA_struct_free_extension(type, &mt->ext);
	RNA_struct_free(&BLENDER_RNA, type);

	WM_menutype_freelink(mt);

	/* update while blender is running */
	WM_main_add_notifier(NC_WINDOW, NULL);
}
Example #5
0
static void rna_UIList_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	uiListType *ult = RNA_struct_blender_type_get(type);

	if (!ult)
		return;

	RNA_struct_free_extension(type, &ult->ext);
	RNA_struct_free(&BLENDER_RNA, type);

	WM_uilisttype_freelink(ult);

	/* update while blender is running */
	WM_main_add_notifier(NC_WINDOW, NULL);
}
Example #6
0
static void rna_Menu_unregister(const bContext *C, StructRNA *type)
{
	MenuType *mt= RNA_struct_blender_type_get(type);

	if(!mt)
		return;
	
	RNA_struct_free_extension(type, &mt->ext);

	WM_menutype_freelink(mt);

	RNA_struct_free(&BLENDER_RNA, type);

	/* update while blender is running */
	if(C)
		WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
}
Example #7
0
static void rna_Header_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	ARegionType *art;
	HeaderType *ht = RNA_struct_blender_type_get(type);

	if (!ht)
		return;
	if (!(art = region_type_find(NULL, ht->space_type, RGN_TYPE_HEADER)))
		return;

	RNA_struct_free_extension(type, &ht->ext);
	RNA_struct_free(&BLENDER_RNA, type);

	BLI_freelinkN(&art->headertypes, ht);

	/* update while blender is running */
	WM_main_add_notifier(NC_WINDOW, NULL);
}
Example #8
0
static void rna_Panel_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	ARegionType *art;
	PanelType *pt = RNA_struct_blender_type_get(type);

	if (!pt)
		return;
	if (!(art = region_type_find(NULL, pt->space_type, pt->region_type)))
		return;

	RNA_struct_free_extension(type, &pt->ext);
	RNA_struct_free(&BLENDER_RNA, type);

	BLI_freelinkN(&art->paneltypes, pt);

	/* update while blender is running */
	WM_main_add_notifier(NC_WINDOW, NULL);
}
Example #9
0
static void rna_Panel_unregister(const bContext *C, StructRNA *type)
{
	ARegionType *art;
	PanelType *pt= RNA_struct_blender_type_get(type);

	if(!pt)
		return;
	if(!(art=region_type_find(NULL, pt->space_type, pt->region_type)))
		return;
	
	RNA_struct_free_extension(type, &pt->ext);

	BLI_freelinkN(&art->paneltypes, pt);
	RNA_struct_free(&BLENDER_RNA, type);

	/* update while blender is running */
	if(C)
		WM_main_add_notifier(NC_SCREEN|NA_EDITED, NULL);
}
Example #10
0
void rna_PropertyGroup_unregister(Main *UNUSED(bmain), StructRNA *type)
{
	RNA_struct_free(&BLENDER_RNA, type);
}