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:
authorDan Eicher <dan@eu.phorio.us>2013-04-07 01:48:39 +0400
committerDan Eicher <dan@eu.phorio.us>2013-04-07 01:48:39 +0400
commit89863f78a90464e2ada35ecf0888cc7870828707 (patch)
treeed66f1de9fefa3f30cbfa3ca3f1ccf8a47e18d91 /source/blender/editors/space_outliner
parentc3725021ab3b384557dd8f718aa7e378a5eeeef0 (diff)
Whoops, revert r55854 and use r48292 as is
Turns out outliner_search_back() doesn't always return a valid scene...
Diffstat (limited to 'source/blender/editors/space_outliner')
-rw-r--r--source/blender/editors/space_outliner/outliner_select.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
index afc23efef55..3f06db22f59 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -206,10 +206,11 @@ static int tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops
sce = (Scene *)outliner_search_back(soops, te, ID_SCE);
if (sce && scene != sce) {
ED_screen_set_scene(C, CTX_wm_screen(C), sce);
+ scene = sce;
}
/* find associated base in current scene */
- base = BKE_scene_base_find(sce, ob);
+ base = BKE_scene_base_find(scene, ob);
if (base) {
if (set == 2) {
@@ -221,22 +222,22 @@ static int tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops
}
else {
/* deleselect all */
- BKE_scene_base_deselect_all(sce);
+ BKE_scene_base_deselect_all(scene);
ED_base_object_select(base, BA_SELECT);
}
if (recursive) {
/* Recursive select/deselect for Object hierarchies */
- do_outliner_object_select_recursive(sce, ob, (ob->flag & SELECT) != 0);
+ do_outliner_object_select_recursive(scene, ob, (ob->flag & SELECT) != 0);
}
if (C) {
ED_base_object_activate(C, base); /* adds notifier */
- WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, sce);
+ WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
}
}
- if (ob != sce->obedit)
+ if (ob != scene->obedit)
ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
return 1;