Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2004-11-21 16:25:54 +0300
committerTon Roosendaal <ton@blender.org>2004-11-21 16:25:54 +0300
commit7d7acbf6bd6cc35d6b14d825e405dd5232e18f4a (patch)
treeefda775a08ea659c6be2280cc18ca93972671687 /source/blender/blenloader/intern
parent9b9f9fc0385939e939202ab976dacb4678c62b6c (diff)
Bug #1865
On appending in posemoding, Blender could crash. Found out the new 'select appended' also sets the 'active base/object'. This isn't OK on that level of the code, 'active' exists (and needs to be set) on UI code level in src/, not in the middle of file reading function. Also removed weird negative bitflag that enforced 'select appended' to be default. If you want that, set the flag itself in do_versions or so. In my opinion it is best saved in .B.blend instead. Another time...
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r--source/blender/blenloader/intern/readfile.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index ee2c39d2d5a..97e7828a91c 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5282,10 +5282,10 @@ static void append_named_part(FileData *fd, Main *mainvar, Scene *scene, char *n
base->object= ob;
ob->id.us++;
- if(!(flag & FILE_AUTOSELECT)) { /* inverse logic here, because we want it to be the default action */
+ if(flag & FILE_AUTOSELECT) {
base->flag |= SELECT;
base->object->flag = base->flag;
- G.scene->basact = base;
+ /* do NOT make base active here! screws up GUI stuff, if you want it do it on src/ level */
}
}
afbreek= 1;
@@ -5388,7 +5388,7 @@ void BLO_library_append(SpaceFile *sfile, char *dir, int idcode)
}
/* now we have or selected, or an indicated file */
- if(!(sfile->flag & FILE_AUTOSELECT)) scene_deselect_all(G.scene);
+ if(sfile->flag & FILE_AUTOSELECT) scene_deselect_all(G.scene);
mainlist.first= mainlist.last= G.main;
G.main->next= NULL;