diff options
author | Ton Roosendaal <ton@blender.org> | 2013-01-13 16:25:56 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2013-01-13 16:25:56 +0400 |
commit | ef5a41a89d121ae4048cc4010487e77b969f66b1 (patch) | |
tree | a4d9af893fa6a151f9e1e0898551c96285b67d05 /source/blender/blenkernel/intern/library.c | |
parent | 6e990de9b0ef813c96524d996b383f56da2b548c (diff) |
Three fixes;
- Previous commit had a line of code of WIP project in it... tss
- Packed Library data was not freed
- Removed recent (post 2.65a) code to exclude packed data from Undo system.
It's internal data thats part of file spec, errors happen for example on
restoring quit.blend or temp saves.
Diffstat (limited to 'source/blender/blenkernel/intern/library.c')
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 1e6f429aa9c..42f658afa93 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -47,6 +47,7 @@ #include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_group_types.h" +#include "DNA_gpencil_types.h" #include "DNA_ipo_types.h" #include "DNA_key_types.h" #include "DNA_lamp_types.h" @@ -54,6 +55,8 @@ #include "DNA_material_types.h" #include "DNA_mesh_types.h" #include "DNA_meta_types.h" +#include "DNA_movieclip_types.h" +#include "DNA_mask_types.h" #include "DNA_nla_types.h" #include "DNA_node_types.h" #include "DNA_scene_types.h" @@ -64,51 +67,49 @@ #include "DNA_vfont_types.h" #include "DNA_windowmanager_types.h" #include "DNA_world_types.h" -#include "DNA_gpencil_types.h" -#include "DNA_movieclip_types.h" -#include "DNA_mask_types.h" #include "BLI_blenlib.h" #include "BLI_dynstr.h" #include "BLI_utildefines.h" #include "BKE_bpath.h" +#include "BKE_action.h" #include "BKE_animsys.h" +#include "BKE_armature.h" +#include "BKE_brush.h" #include "BKE_camera.h" #include "BKE_context.h" -#include "BKE_lamp.h" -#include "BKE_library.h" -#include "BKE_main.h" -#include "BKE_global.h" -#include "BKE_sound.h" -#include "BKE_object.h" -#include "BKE_screen.h" -#include "BKE_mesh.h" -#include "BKE_material.h" #include "BKE_curve.h" -#include "BKE_mball.h" -#include "BKE_text.h" -#include "BKE_texture.h" -#include "BKE_scene.h" +#include "BKE_fcurve.h" +#include "BKE_font.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_gpencil.h" +#include "BKE_idprop.h" #include "BKE_icons.h" #include "BKE_image.h" #include "BKE_ipo.h" #include "BKE_key.h" -#include "BKE_world.h" -#include "BKE_font.h" -#include "BKE_group.h" +#include "BKE_lamp.h" #include "BKE_lattice.h" -#include "BKE_armature.h" -#include "BKE_action.h" +#include "BKE_library.h" +#include "BKE_mesh.h" +#include "BKE_material.h" +#include "BKE_main.h" +#include "BKE_mball.h" +#include "BKE_movieclip.h" +#include "BKE_mask.h" #include "BKE_node.h" -#include "BKE_brush.h" -#include "BKE_idprop.h" +#include "BKE_object.h" #include "BKE_particle.h" -#include "BKE_gpencil.h" -#include "BKE_fcurve.h" +#include "BKE_packedFile.h" #include "BKE_speaker.h" -#include "BKE_movieclip.h" -#include "BKE_mask.h" +#include "BKE_sound.h" +#include "BKE_screen.h" +#include "BKE_scene.h" +#include "BKE_text.h" +#include "BKE_texture.h" +#include "BKE_world.h" #include "RNA_access.h" @@ -771,9 +772,10 @@ void *BKE_libblock_copy(ID *id) return idn; } -static void BKE_library_free(Library *UNUSED(lib)) +static void BKE_library_free(Library *lib) { - /* no freeing needed for libraries yet */ + if (lib->packedfile) + freePackedFile(lib->packedfile); } static void (*free_windowmanager_cb)(bContext *, wmWindowManager *) = NULL; |