Revision: 23392
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23392
Author:   campbellbarton
Date:     2009-09-21 14:23:56 +0200 (Mon, 21 Sep 2009)

Log Message:
-----------
bugfix [#19392] Typing help() in the console window freezes Blender

for now set the sys.stdin to None, this gives an error on input() or help() but 
better then locking up blender.
Would be nice to support for the blender console to be used as a stdin but this 
isnt so simple.

also quiet some warnings.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_file/file_ops.c
    trunk/blender/source/blender/editors/space_file/space_file.c
    trunk/blender/source/blender/editors/transform/transform_input.c
    trunk/blender/source/blender/python/intern/bpy_interface.c

Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c  2009-09-21 
12:09:00 UTC (rev 23391)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c  2009-09-21 
12:23:56 UTC (rev 23392)
@@ -72,7 +72,6 @@
 {
        float fx,fy;
        int active_file = -1;
-       int numfiles = filelist_numfiles(sfile->files);
        View2D* v2d = &ar->v2d;
 
        UI_view2d_region_to_view(v2d, x, y, &fx, &fy);

Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c        
2009-09-21 12:09:00 UTC (rev 23391)
+++ trunk/blender/source/blender/editors/space_file/space_file.c        
2009-09-21 12:23:56 UTC (rev 23392)
@@ -155,7 +155,7 @@
 /* spacetype; init callback, area size changes, screen set, etc */
 static void file_init(struct wmWindowManager *wm, ScrArea *sa)
 {
-       SpaceFile *sfile= (SpaceFile*)sa->spacedata.first;
+       //SpaceFile *sfile= (SpaceFile*)sa->spacedata.first;
        printf("file_init\n");
 }
 

Modified: trunk/blender/source/blender/editors/transform/transform_input.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_input.c    
2009-09-21 12:09:00 UTC (rev 23391)
+++ trunk/blender/source/blender/editors/transform/transform_input.c    
2009-09-21 12:23:56 UTC (rev 23392)
@@ -34,8 +34,8 @@
 
 #include "transform.h"
 
+#include "MEM_guardedalloc.h" 
 
-
 /* ************************** INPUT FROM MOUSE *************************** */
 
 void InputVector(TransInfo *t, MouseInput *mi, short mval[2], float output[3])

Modified: trunk/blender/source/blender/python/intern/bpy_interface.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_interface.c  2009-09-21 
12:09:00 UTC (rev 23391)
+++ trunk/blender/source/blender/python/intern/bpy_interface.c  2009-09-21 
12:23:56 UTC (rev 23392)
@@ -292,6 +292,11 @@
                PyObject *d = PyEval_GetBuiltins(  );
                PyDict_SetItemString(d, "reload",               
item=PyCFunction_New(bpy_reload_meth, NULL));   Py_DECREF(item);
                PyDict_SetItemString(d, "__import__",   
item=PyCFunction_New(bpy_import_meth, NULL));   Py_DECREF(item);
+               
+               /* a bit nasty but this prevents help() and input() from 
locking blender
+                * Ideally we could have some way for the console to replace 
sys.stdin but
+                * python would lock blender while waiting for a return value, 
not easy :| */
+               PySys_SetObject("stdin", Py_None);
        }
        
        pyrna_alloc_types();


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to