static void ptcache_free_bake(PointCache *cache)
{
    if (cache->edit) {
        if (!cache->edit->edited || 1) {// XXX okee("Lose changes done in particle mode?")) {
            PE_free_ptcache_edit(cache->edit);
            cache->edit = NULL;
            cache->flag &= ~PTCACHE_BAKED;
        }
    }
    else {
        cache->flag &= ~PTCACHE_BAKED;
    }
}
Example #2
0
static int ptcache_free_bake_exec(bContext *C, wmOperator *UNUSED(op))
{
	PointerRNA ptr= CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
	PointCache *cache= ptr.data;
	Object *ob= ptr.id.data;

	if(cache->edit) {
		if(!cache->edit->edited || 1) {// XXX okee("Lose changes done in particle mode?")) {
			PE_free_ptcache_edit(cache->edit);
			cache->edit = NULL;
			cache->flag &= ~PTCACHE_BAKED;
		}
	}
	else
		cache->flag &= ~PTCACHE_BAKED;
	
	WM_event_add_notifier(C, NC_OBJECT|ND_POINTCACHE, ob);

	return OPERATOR_FINISHED;
}