Merged changes in the trunk up to revision 35505.
[blender-staging.git] / source / blender / python / intern / bpy.c
index 9f2feee74043d682108e39870a19db17d60cf3ac..69b28ed51fad2281b920056697ebab8103fc1fad 100644 (file)
@@ -165,7 +165,7 @@ static PyObject *bpy_user_resource(PyObject *UNUSED(self), PyObject *args, PyObj
        if (!path)
                path = BLI_get_user_folder_notest(folder_id, subdir);
 
-       return PyUnicode_FromString(path ? path : "");
+       return PyUnicode_DecodeFSDefault(path ? path : "");
 }
 
 static PyMethodDef meth_bpy_script_paths = {"script_paths", (PyCFunction)bpy_script_paths, METH_NOARGS, bpy_script_paths_doc};
@@ -192,6 +192,7 @@ static PyObject *bpy_import_test(const char *modname)
 void BPy_init_modules( void )
 {
        extern BPy_StructRNA *bpy_context_module;
+       extern int bpy_lib_init(PyObject *);
        PointerRNA ctx_ptr;
        PyObject *mod;
 
@@ -222,7 +223,9 @@ void BPy_init_modules( void )
 
        PyModule_AddObject( mod, "types", BPY_rna_types() ); /* needs to be first so bpy_types can run */
        PyModule_AddObject(mod, "StructMetaPropGroup", (PyObject *)&pyrna_struct_meta_idprop_Type); /* metaclass for idprop types, bpy_types.py needs access */
-                       
+
+       bpy_lib_init(mod); /* adds '_bpy._library_load', must be called before 'bpy_types' which uses it */
+
        bpy_import_test("bpy_types");
        PyModule_AddObject( mod, "data", BPY_rna_module() ); /* imports bpy_types by running this */
        bpy_import_test("bpy_types");