=Draw Module Fixed=
authorJoseph Eagar <joeedh@gmail.com>
Fri, 27 Jul 2007 06:14:25 +0000 (06:14 +0000)
committerJoseph Eagar <joeedh@gmail.com>
Fri, 27 Jul 2007 06:14:25 +0000 (06:14 +0000)
commit3031f1f2bd13d0265e3214bf9f17a8bdd1b1dc2f
tree9a115cd7208a560949d600cb4cc38139d69df140
parentc540888f727f4a7ae703c1e07da85c620a2b656c
=Draw Module Fixed=

This commit fixes the Draw module.  All buttons/widgets created via the Draw
module in a SpaceScript area are now inserted into a global list attached to
the SpaceScript data.  This list is cleared before each draw, when freeing
the space, and when the area is switched to another space.c

This is necessary to prevent Blender's internal UI code from getting invalid
pointers to python data.  In addition, it allows storing widget tooltips
inside the python Button objects, which solves that little bit of stupidity.

Note that this reverts the previous weaklist solution.  In fact, I had to go
over each previous commit by Campbell after this code originally branched
before the weaklist commit and re-add each commit.  So if anything is
missing, just tell me, or feel free to re-add it.
source/blender/blenloader/intern/writefile.c
source/blender/makesdna/DNA_space_types.h
source/blender/python/BPY_extern.h
source/blender/python/api2_2x/Draw.c
source/blender/python/api2_2x/Draw.h
source/blender/src/drawscript.c
source/blender/src/space.c