Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/editors/space_graph/space_graph.c4
-rw-r--r--source/blender/makesrna/intern/rna_key.c24
-rw-r--r--source/blender/python/intern/bpy_interface.c16
3 files changed, 29 insertions, 15 deletions
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index b4b06844d13..342afab7534 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -151,8 +151,8 @@ static SpaceLink *graph_new(const bContext *C)
ar->v2d.cur= ar->v2d.tot;
- ar->v2d.min[0]= 0.01f;
- ar->v2d.min[1]= 0.01f;
+ ar->v2d.min[0]= 0.001f;
+ ar->v2d.min[1]= 0.001f;
ar->v2d.max[0]= MAXFRAMEF;
ar->v2d.max[1]= 50000.0f;
diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c
index 433e5a7e4a3..ca36da5d03b 100644
--- a/source/blender/makesrna/intern/rna_key.c
+++ b/source/blender/makesrna/intern/rna_key.c
@@ -50,6 +50,17 @@
#include "WM_api.h"
#include "WM_types.h"
+static Key *rna_ShapeKey_find_key(ID *id)
+{
+ switch(GS(id->name)) {
+ case ID_CU: return ((Curve*)id)->key;
+ case ID_KE: return (Key*)id;
+ case ID_LT: return ((Lattice*)id)->key;
+ case ID_ME: return ((Mesh*)id)->key;
+ default: return NULL;
+ }
+}
+
void rna_ShapeKey_name_set(PointerRNA *ptr, const char *value)
{
KeyBlock *kb= ptr->data;
@@ -63,7 +74,7 @@ void rna_ShapeKey_name_set(PointerRNA *ptr, const char *value)
/* make sure the name is truly unique */
if (ptr->id.data) {
- Key *key= ptr->id.data;
+ Key *key= rna_ShapeKey_find_key(ptr->id.data);
BLI_uniquename(&key->block, kb, "Key", '.', offsetof(KeyBlock, name), 32);
}
@@ -86,17 +97,6 @@ static void rna_ShapeKey_value_range(PointerRNA *ptr, float *min, float *max)
*max= data->slidermax;
}
-static Key *rna_ShapeKey_find_key(ID *id)
-{
- switch(GS(id->name)) {
- case ID_CU: return ((Curve*)id)->key;
- case ID_KE: return (Key*)id;
- case ID_LT: return ((Lattice*)id)->key;
- case ID_ME: return ((Mesh*)id)->key;
- default: return NULL;
- }
-}
-
static PointerRNA rna_ShapeKey_relative_key_get(PointerRNA *ptr)
{
Key *key= rna_ShapeKey_find_key(ptr->id.data);
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index 9e76c1d03aa..095bfab45c4 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -884,7 +884,7 @@ float BPY_pydriver_eval (ChannelDriver *driver)
int BPY_button_eval(bContext *C, char *expr, double *value)
{
PyGILState_STATE gilstate;
- PyObject *dict, *retval;
+ PyObject *dict, *mod, *retval;
int error_ret = 0;
if (!value || !expr || expr[0]=='\0') return -1;
@@ -892,6 +892,20 @@ int BPY_button_eval(bContext *C, char *expr, double *value)
bpy_context_set(C, &gilstate);
dict= CreateGlobalDictionary(C);
+
+ /* import some modules: builtins,math*/
+ PyDict_SetItemString(dict, "__builtins__", PyEval_GetBuiltins());
+
+ mod = PyImport_ImportModule("math");
+ if (mod) {
+ PyDict_Merge(dict, PyModule_GetDict(mod), 0); /* 0 - dont overwrite existing values */
+
+ /* Only keep for backwards compat! - just import all math into root, they are standard */
+ PyDict_SetItemString(dict, "math", mod);
+ PyDict_SetItemString(dict, "m", mod);
+ Py_DECREF(mod);
+ }
+
retval = PyRun_String(expr, Py_eval_input, dict, dict);
if (retval == NULL) {