From 1a7638fa94fbe9c6244d054d20efa3405153747f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 2 Jan 2013 23:10:14 +0000 Subject: add id property clear function (matching the same python function for dicts/lists) --- intern/cycles/blender/addon/__init__.py | 2 +- source/blender/blenkernel/BKE_idprop.h | 2 ++ source/blender/blenkernel/intern/idprop.c | 7 +++++++ source/blender/editors/space_sequencer/sequencer_edit.c | 2 +- source/blender/python/generic/idprop_py_api.c | 7 +++++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 6d1b6d4f56e..dddf7bafb14 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -21,7 +21,7 @@ bl_info = { "name": "Cycles Render Engine", "author": "", - "blender": (2, 6, 5), + "blender": (2, 60, 5), "location": "Info header, render engine menu", "description": "Cycles Render Engine integration", "warning": "", diff --git a/source/blender/blenkernel/BKE_idprop.h b/source/blender/blenkernel/BKE_idprop.h index a9f6a61a655..ad3e4bb2251 100644 --- a/source/blender/blenkernel/BKE_idprop.h +++ b/source/blender/blenkernel/BKE_idprop.h @@ -315,6 +315,8 @@ __attribute__((nonnull)) * the actual struct IDProperty struct either.*/ void IDP_FreeProperty(struct IDProperty *prop); +void IDP_ClearProperty(IDProperty *prop); + /** Unlinks any struct IDProperty<->ID linkage that might be going on.*/ void IDP_UnlinkProperty(struct IDProperty *prop); diff --git a/source/blender/blenkernel/intern/idprop.c b/source/blender/blenkernel/intern/idprop.c index 5dd0f08dc71..3be47668fb5 100644 --- a/source/blender/blenkernel/intern/idprop.c +++ b/source/blender/blenkernel/intern/idprop.c @@ -815,6 +815,13 @@ void IDP_FreeProperty(IDProperty *prop) } } +void IDP_ClearProperty(IDProperty *prop) +{ + IDP_FreeProperty(prop); + prop->data.pointer = NULL; + prop->len = prop->totallen = 0; +} + /* Unlinks any IDProperty<->ID linkage that might be going on. * note: currently unused.*/ void IDP_UnlinkProperty(IDProperty *prop) diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 409f655bb79..892f0a3f489 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -925,7 +925,7 @@ static void set_filter_seq(Scene *scene) if (seq->type == SEQ_TYPE_MOVIE) { seq->flag |= SEQ_FILTERY; reload_sequence_new_file(scene, seq, FALSE); - calc_sequence(scene, seq); + BKE_sequence_calc(scene, seq); } } diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c index 53112d46098..10ca7a943cb 100644 --- a/source/blender/python/generic/idprop_py_api.c +++ b/source/blender/python/generic/idprop_py_api.c @@ -836,6 +836,11 @@ static PyObject *BPy_IDGroup_to_dict(BPy_IDProperty *self) return BPy_IDGroup_MapDataToPy(self->prop); } +static PyObject *BPy_IDGroup_clear(BPy_IDProperty *self) +{ + IDP_ClearProperty(self->prop); + Py_RETURN_NONE; +} /* Matches python dict.get(key, [default]) */ static PyObject *BPy_IDGroup_Get(BPy_IDProperty *self, PyObject *args) @@ -875,6 +880,8 @@ static struct PyMethodDef BPy_IDGroup_methods[] = { "idprop.get(k[,d]) -> idprop[k] if k in idprop, else d. d defaults to None"}, {"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS, "return a purely python version of the group"}, + {"clear", (PyCFunction)BPy_IDGroup_clear, METH_NOARGS, + "clear all members from this group"}, {NULL, NULL, 0, NULL} }; -- cgit v1.2.3