add warning about misuse of ID.user_clear() since it can crash blender.

This commit is contained in:
Campbell Barton 2011-08-23 11:28:18 +00:00
parent ce9e4472eb
commit 75a63981cd
2 changed files with 24 additions and 3 deletions

@ -0,0 +1,19 @@
"""
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)

@ -74,10 +74,10 @@ else:
"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",
@ -85,7 +85,7 @@ else:
"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
@ -744,6 +744,8 @@ def pyrna2sphinx(BASEPATH):
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