- string copy without .py wasnt terminating the string
authorCampbell Barton <ideasman42@gmail.com>
Mon, 7 Dec 2009 14:09:53 +0000 (14:09 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 7 Dec 2009 14:09:53 +0000 (14:09 +0000)
- console import autocomplete wasnt including modules defined in C like BGL, Mathutils

release/scripts/modules/console/complete_import.py
source/blender/python/generic/bpy_internal_import.c

index 9166dee2bb2769d1be29099b2acba91bb6588ca0..65a507b349d0c414dbd025458cc26d45dc25ea14 100644 (file)
@@ -69,10 +69,13 @@ def get_root_modules():
 
     modules += sys.builtin_module_names
 
+    # needed for modules defined in C
+    modules += sys.modules.keys()
+
     modules = list(set(modules))
     if '__init__' in modules:
         modules.remove('__init__')
-    modules = sorted(set(modules))
+    modules = sorted(modules)
     if store:
         ROOT_MODULES = modules
     return modules
index d3b8b19693f122fc68b608aa87903c58a7f24c92..002467687c47680741a7ddbb770d9c881e2b2504 100644 (file)
@@ -74,8 +74,9 @@ PyObject *bpy_text_import( Text *text )
                }
        }
 
-       len= strlen(text->id.name+2) - 3;
+       len= strlen(text->id.name+2);
        strncpy(modulename, text->id.name+2, len);
+       modulename[len - 3]= '\0'; /* remove .py */
        return PyImport_ExecCodeModule(modulename, text->compiled);
 }