From 0e3de1df4bee62d12a347e74216afa2b42632070 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 26 Oct 2012 10:54:02 +0000 Subject: fix [#31661] Custom properties do no respect min/max values also renamed function added prev commit --- release/scripts/startup/bl_operators/wm.py | 10 ++++++++-- source/blender/python/BPY_extern.h | 2 +- source/blender/python/intern/bpy_interface.c | 2 +- source/blender/render/intern/source/external_engine.c | 2 +- source/blender/windowmanager/intern/wm.c | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index ac72b39a04d..5cc041476c9 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1124,9 +1124,15 @@ class WM_OT_properties_add(Operator): return prop_new - property = unique_name(item.keys()) + prop = unique_name(item.keys()) + + item[prop] = 1.0 + + # not essential, but without this we get [#31661] + prop_ui = rna_idprop_ui_prop_get(item, prop) + prop_ui["soft_min"] = prop_ui["min"] = 0.0 + prop_ui["soft_max"] = prop_ui["max"] = 1.0 - item[property] = 1.0 return {'FINISHED'} diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h index 53bd128562a..9bd45d2b759 100644 --- a/source/blender/python/BPY_extern.h +++ b/source/blender/python/BPY_extern.h @@ -80,7 +80,7 @@ int BPY_button_exec(struct bContext *C, const char *expr, double *value, const int BPY_string_exec(struct bContext *C, const char *expr); void BPY_DECREF(void *pyob_ptr); /* Py_DECREF() */ -void BPY_RNA_DECREF_INVALIDATE(void *pyob_ptr); +void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr); int BPY_context_member_get(struct bContext *C, const char *member, struct bContextDataResult *result); void BPY_context_set(struct bContext *C); void BPY_context_update(struct bContext *C); diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index 39621fcf390..94cbee383ea 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -510,7 +510,7 @@ void BPY_DECREF(void *pyob_ptr) PyGILState_Release(gilstate); } -void BPY_RNA_DECREF_INVALIDATE(void *pyob_ptr) +void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr) { PyGILState_STATE gilstate = PyGILState_Ensure(); const int do_invalidate = (Py_REFCNT((PyObject *)pyob_ptr) > 1); diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 9647b100d2d..94146467145 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -138,7 +138,7 @@ void RE_engine_free(RenderEngine *engine) { #ifdef WITH_PYTHON if (engine->py_instance) { - BPY_RNA_DECREF_INVALIDATE(engine->py_instance); + BPY_DECREF_RNA_INVALIDATE(engine->py_instance); } #endif diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c index fa00ec63b31..8fe387765ce 100644 --- a/source/blender/windowmanager/intern/wm.c +++ b/source/blender/windowmanager/intern/wm.c @@ -78,7 +78,7 @@ void WM_operator_free(wmOperator *op) if (op->py_instance) { /* do this first in case there are any __del__ functions or * similar that use properties */ - BPY_RNA_DECREF_INVALIDATE(op->py_instance); + BPY_DECREF_RNA_INVALIDATE(op->py_instance); } #endif -- cgit v1.2.3