Revision: 18099
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18099
Author:   campbellbarton
Date:     2008-12-27 17:35:15 +0100 (Sat, 27 Dec 2008)

Log Message:
-----------
* converting operator props to strings was using a float as in int.
* PyOperators were always calling the python functions with default args.
* Made operator prints only happen when G.f & G_DEBUG is enabled.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/python/intern/bpy_operator.c
    branches/blender2.5/blender/source/blender/python/intern/bpy_opwrapper.c
    
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: 
branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c     
2008-12-27 16:09:56 UTC (rev 18098)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c     
2008-12-27 16:35:15 UTC (rev 18099)
@@ -1899,7 +1899,7 @@
                break;
        case PROP_FLOAT:
                if (len==0) {
-                       BLI_dynstr_appendf(dynstr, "%f", 
RNA_property_int_get(ptr, prop));
+                       BLI_dynstr_appendf(dynstr, "%f", 
RNA_property_float_get(ptr, prop));
                }
                else {
                        BLI_dynstr_append(dynstr, "(");

Modified: 
branches/blender2.5/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- branches/blender2.5/blender/source/blender/python/intern/bpy_operator.c     
2008-12-27 16:09:56 UTC (rev 18098)
+++ branches/blender2.5/blender/source/blender/python/intern/bpy_operator.c     
2008-12-27 16:35:15 UTC (rev 18099)
@@ -82,17 +82,16 @@
 
        if( strcmp( name, "__members__" ) == 0 ) {
                PyObject *item;
+               ret = PyList_New(2);
+               
+               PyList_SET_ITEM(ret, 0, PyUnicode_FromString("add"));
+               PyList_SET_ITEM(ret, 1, PyUnicode_FromString("remove"));
 
-               ret = PyList_New(0);
-
                for(ot= WM_operatortype_first(); ot; ot= ot->next) {
                        item = PyUnicode_FromString( ot->idname );
                        PyList_Append(ret, item);
                        Py_DECREF(item);
                }
-
-               item = PyUnicode_FromString("add");             
PyList_Append(ret, item); Py_DECREF(item);
-               item = PyUnicode_FromString("remove");  PyList_Append(ret, 
item); Py_DECREF(item);
        }
        else if ( strcmp( name, "add" ) == 0 ) {
                ret= PYOP_wrap_add_func();
@@ -168,7 +167,7 @@
                        error_val = 1; /* pyrna_py_to_prop sets the error */
                        break;
                }
-
+               
                if (pyrna_py_to_prop(&ptr, prop, item)) {
                        error_val= 1;
                        break;

Modified: 
branches/blender2.5/blender/source/blender/python/intern/bpy_opwrapper.c
===================================================================
--- branches/blender2.5/blender/source/blender/python/intern/bpy_opwrapper.c    
2008-12-27 16:09:56 UTC (rev 18098)
+++ branches/blender2.5/blender/source/blender/python/intern/bpy_opwrapper.c    
2008-12-27 16:35:15 UTC (rev 18099)
@@ -63,7 +63,7 @@
 
                if (strcmp(arg_name, "rna_type")==0) continue;
 
-               item = pyrna_prop_to_py(&iter.ptr, prop);
+               item = pyrna_prop_to_py(op->ptr, prop);
                PyDict_SetItemString(dict, arg_name, item);
                Py_DECREF(item);
        }
@@ -80,7 +80,7 @@
        pyop_kwargs_from_operator(kw, op);
 
        ret = PyObject_Call(pyot->py_exec, args, kw);
-
+       
        Py_DECREF(args);
        Py_DECREF(kw);
 
@@ -176,10 +176,11 @@
        char *name= NULL;
        PyObject *invoke= NULL;
        PyObject *exec= NULL;
-       
-       if (!PyArg_ParseTuple(args, "ssOO", &idname, &name, &invoke, &exec))
+
+       if (!PyArg_ParseTuple(args, "ssOO", &idname, &name, &invoke, &exec)) {
                PyErr_SetString( PyExc_AttributeError, "expected 2 strings and 
2 function objects");
                return NULL;
+       }
 
        if (WM_operatortype_find(idname)) {
                PyErr_Format( PyExc_AttributeError, "First argument \"%s\" 
operator alredy exists with this name", idname);
@@ -190,7 +191,7 @@
                PyErr_SetString( PyExc_AttributeError, "the 2nd arg must be a 
function or None, the secons must be a function");
                return NULL;
        }
-       
+
        pyot= MEM_callocN(sizeof(PyOperatorType), "PyOperatorType");
 
        strcpy(pyot->idname, idname);

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
   2008-12-27 16:09:56 UTC (rev 18098)
+++ 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
   2008-12-27 16:35:15 UTC (rev 18099)
@@ -331,8 +331,8 @@
                else
                        printf("invalid operator call %s\n", ot->idname); /* 
debug, important to leave a while, should never happen */
 
-               /* only for testing, can remove any time */
-               WM_operator_print(op);
+               if(G.f & G_DEBUG)
+                       WM_operator_print(op);
 
                if((retval & OPERATOR_FINISHED) && (ot->flag & 
OPTYPE_REGISTER)) {
                        wm_operator_register(wm, op);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to