better not have an instant crash key, script reload currently disabled ubless running...
authorCampbell Barton <ideasman42@gmail.com>
Tue, 8 Jun 2010 10:56:59 +0000 (10:56 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 8 Jun 2010 10:56:59 +0000 (10:56 +0000)
removing keying sets and netrender makes reloading work so probably a problem with how rna works with these classes.

source/blender/editors/space_script/script_edit.c

index 064e2295006bba4e9f22f0db2f49be955c58bcca..90867712322077ebd56a42e5a295d37823037f51 100644 (file)
@@ -38,6 +38,7 @@
 #include "BKE_global.h"
 #include "BKE_screen.h"
 #include "BKE_utildefines.h"
+#include "BKE_report.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -87,7 +88,15 @@ void SCRIPT_OT_python_file_run(wmOperatorType *ot)
 static int script_reload_exec(bContext *C, wmOperator *op)
 {
 #ifndef DISABLE_PYTHON
-       BPY_eval_string(C, "__import__('bpy').utils.load_scripts(reload_scripts=True)");
+       /* TODO, this crashes on netrender and keying sets, need to look into why
+        * disable for now unless running in debug mode */
+       if(G.f & G_DEBUG) {
+               BPY_eval_string(C, "__import__('bpy').utils.load_scripts(reload_scripts=True)");
+       }
+       else {
+               BKE_reportf(op->reports, RPT_ERROR, "reloading is currently unstable, only operates in debug mode.\n");
+               return OPERATOR_CANCELLED;
+       }
        return OPERATOR_FINISHED;
 #endif
        return OPERATOR_CANCELLED;