From 1ed95e0450d9d7e5a98141b209640ffd0283ab9d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 23 Apr 2009 06:58:02 +0000 Subject: F8Key reloads all python scripts and redraws for quick testing F7 runs test.py also for testing --- source/blender/python/intern/bpy_interface.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'source/blender/python/intern/bpy_interface.c') diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index c2773e9e7d1..f37137aa42c 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -347,7 +347,7 @@ int BPY_run_python_script_space(const char *modulename, const char *func) #endif /* XXX this is temporary, need a proper script registration system for 2.5 */ -void BPY_run_ui_scripts(bContext *C) +void BPY_run_ui_scripts(bContext *C, int reload) { #ifdef TIME_REGISTRATION double time = PIL_check_seconds_timer(); @@ -396,13 +396,19 @@ void BPY_run_ui_scripts(bContext *C) mod= PyImport_ImportModuleLevel(path, NULL, NULL, NULL, 0); if (mod) { - Py_DECREF(mod); + if (reload) { + PyObject *mod_orig= mod; + mod= PyImport_ReloadModule(mod); + Py_DECREF(mod_orig); + } } - else { + + if(mod) { + Py_DECREF(mod); /* could be NULL from reloading */ + } else { PyErr_Print(); fprintf(stderr, "unable to import \"%s\" %s/%s\n", path, dirname, de->d_name); } - } } -- cgit v1.2.3