[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23392] trunk/blender/source/blender: bugfix [#19392] Typing help() in the console window freezes Blender

Campbell Barton ideasman42 at gmail.com
Mon Sep 21 14:23:56 CEST 2009


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();





More information about the Bf-blender-cvs mailing list