--- /dev/null
+"""
+User Clear
+++++++++++
+This function is for advanced use only, misuse can crash blender since the user
+count is used to prevent data being removed when it is used.
+"""
+
+# This example shows what _not_ to do, and will crash blender.
+import bpy
+
+# object which is in the scene.
+obj = bpy.data.objects["Cube"]
+
+# without this, removal would raise an error.
+obj.user_clear()
+
+# runs without an exception
+# but will crash on redraw.
+bpy.data.objects.remove(obj)
"bpy.props",
"bpy.utils",
"bpy.context",
- "bpy.types", # supports filtering
+ #"bpy.types", # supports filtering
"bpy.ops", # supports filtering
"bpy_extras",
- # "bge",
+ "bge",
"aud",
"bgl",
"blf",
"mathutils.geometry",
)
- FILTER_BPY_TYPES = ("bpy_struct", "Panel", "Menu", "Operator", "RenderEngine") # allow
+ FILTER_BPY_TYPES = ("bpy_struct", "Panel", "ID") # allow
FILTER_BPY_OPS = ("import.scene", ) # allow
# for quick rebuilds
descr = prop.name
fw(" `%s`, %s, %s\n\n" % (prop.identifier, descr, type_descr))
+ write_example_ref(" ", fw, "bpy.types." + struct.identifier + "." + func.identifier)
+
fw("\n")
# python methods