From 8e93f017ac0200688b237161b6e2aa0fc1efcf58 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 18 Sep 2012 14:40:02 +0000 Subject: do_version fix files with bad keyblock uid caused by byg [#31569] --- source/blender/blenkernel/BKE_blender.h | 2 +- source/blender/blenloader/intern/readfile.c | 24 ++++++++++++++++------ source/blender/editors/space_node/drawnode.c | 3 --- source/blender/makesdna/DNA_key_types.h | 2 +- source/blender/makesrna/intern/rna_sequencer_api.c | 2 -- 5 files changed, 20 insertions(+), 13 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index ff0c76590b2..47e18d4917c 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 263 -#define BLENDER_SUBVERSION 19 +#define BLENDER_SUBVERSION 20 /* 262 was the last editmesh release but its has compatibility code for bmesh data, * so set the minversion to 2.61 */ diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index a24e1256826..aa80a6bcff5 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2717,6 +2717,16 @@ static void direct_link_lamp(FileData *fd, Lamp *la) /* ************ READ keys ***************** */ +static void do_versions_key_uidgen(Key *key) +{ + KeyBlock *block; + + key->uidgen = 1; + for (block = key->block.first; block; block = block->next) { + block->uid = key->uidgen++; + } +} + static void lib_link_key(FileData *fd, Main *main) { Key *key; @@ -2724,12 +2734,7 @@ static void lib_link_key(FileData *fd, Main *main) for (key = main->key.first; key; key = key->id.next) { /*check if we need to generate unique ids for the shapekeys*/ if (!key->uidgen) { - KeyBlock *block; - - key->uidgen = 1; - for (block=key->block.first; block; block=block->next) { - block->uid = key->uidgen++; - } + do_versions_key_uidgen(key); } if (key->id.flag & LIB_NEED_LINK) { @@ -7974,6 +7979,13 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } + if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 20)) { + Key *key; + for (key = main->key.first; key; key = key->id.next) { + do_versions_key_uidgen(key); + } + } + /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ /* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */ diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index a81a501c9ae..0d0a34f72e1 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -69,9 +69,6 @@ #include "node_intern.h" /* own include */ -/* XXX interface.h */ -extern void ui_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int select); - /* ****************** SOCKET BUTTON DRAW FUNCTIONS ***************** */ static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v) diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h index 8494e663fbe..6e5861043c1 100644 --- a/source/blender/makesdna/DNA_key_types.h +++ b/source/blender/makesdna/DNA_key_types.h @@ -105,7 +105,7 @@ typedef struct Key { /* Key->type: KeyBlocks are interpreted as... */ enum { - /* Sequencial positions over time (using KeyBlock->pos and Key->ctime) */ + /* Sequential positions over time (using KeyBlock->pos and Key->ctime) */ KEY_NORMAL = 0, /* States to blend between (default) */ diff --git a/source/blender/makesrna/intern/rna_sequencer_api.c b/source/blender/makesrna/intern/rna_sequencer_api.c index ab1dfbf22b0..c7c4b0817f6 100644 --- a/source/blender/makesrna/intern/rna_sequencer_api.c +++ b/source/blender/makesrna/intern/rna_sequencer_api.c @@ -37,8 +37,6 @@ #include "DNA_scene_types.h" #include "DNA_sequence_types.h" -extern EnumPropertyItem blend_mode_items[]; - #ifdef RNA_RUNTIME //#include "DNA_anim_types.h" -- cgit v1.2.3