Esempio n. 1
0
void RE_engine_free(RenderEngine *engine)
{
#ifdef WITH_PYTHON
	if (engine->py_instance) {
		BPY_DECREF(engine->py_instance);
	}
#endif

	if (engine->text)
		MEM_freeN(engine->text);

	MEM_freeN(engine);
}
Esempio n. 2
0
File: wm.c Progetto: mik0001/Blender
void WM_operator_free(wmOperator *op)
{

#ifdef WITH_PYTHON
	if(op->py_instance) {
		/* do this first incase there are any __del__ functions or
		 * similar that use properties */
		BPY_DECREF(op->py_instance);
	}
#endif

	if(op->ptr) {
		op->properties= op->ptr->data;
		MEM_freeN(op->ptr);
	}

	if(op->properties) {
		IDP_FreeProperty(op->properties);
		MEM_freeN(op->properties);
	}

	if(op->reports && (op->reports->flag & RPT_FREE)) {
		BKE_reports_clear(op->reports);
		MEM_freeN(op->reports);
	}

	if(op->macro.first) {
		wmOperator *opm, *opmnext;
		for(opm= op->macro.first; opm; opm= opmnext) {
			opmnext = opm->next;
			WM_operator_free(opm);
		}
	}
	
	MEM_freeN(op);
}