diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-11-02 03:25:39 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-11-02 03:25:39 +0300 |
commit | a4f8f06479a962e52240ec4c7e3dd28b0213d691 (patch) | |
tree | bc53353cae95849c24533bce1c90e624c60504ff /source/blender/blenloader/intern/readfile.h | |
parent | 68f50e0c6b147d9603d151d99f5085c09c0ce039 (diff) |
Fix for two proxy + undo related crashes:
* When making a proxy, the lib linked IPO driver was also changed to
point to the proxy object, and after undo this local proxy object
was replaced so the pointer became invalid. In fact it is not needed
at all to change this because the IPO code maps the pointer to the
local proxy object already.
* Undoing the make proxy operation would crash because the proxy_from
pointer in the library linked object would still point to the removed
object. Now it clears all these pointers before undo, because on each
undo memory file read they will be set again anyway.
Diffstat (limited to 'source/blender/blenloader/intern/readfile.h')
-rw-r--r-- | source/blender/blenloader/intern/readfile.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h index 7ddb1e361da..8547a4d9652 100644 --- a/source/blender/blenloader/intern/readfile.h +++ b/source/blender/blenloader/intern/readfile.h @@ -112,6 +112,7 @@ FileData *blo_openblenderfile( char *name, BlendReadError *error_r); FileData *blo_openblendermemory( void *buffer, int buffersize, BlendReadError *error_r); FileData *blo_openblendermemfile(struct MemFile *memfile, BlendReadError *error_r); +void blo_clear_proxy_pointers_from_lib(FileData *fd); void blo_make_image_pointer_map(FileData *fd); void blo_end_image_pointer_map(FileData *fd); void blo_add_library_pointer_map(ListBase *mainlist, FileData *fd); |