Fix #24167: Timeline keyframes don't update when selecting objects from outliner
Based on patch from Alexander Kuznetsov. Own changes: - Keyframes in timelime depends on active object, so timelime better be listeing to ND_OB_ACTIVE notifier rather than ND_OB_SELECT - When scene is changing in this operator NC_WINDOW notifier would be send and the whole interface would be redrawed, so no need in ND_OB_ACTIVE in this case
This commit is contained in:
@@ -1931,15 +1931,14 @@ static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops
|
||||
scene_deselect_all(scene);
|
||||
ED_base_object_select(base, BA_SELECT);
|
||||
}
|
||||
if(C)
|
||||
if(C) {
|
||||
ED_base_object_activate(C, base); /* adds notifier */
|
||||
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
|
||||
}
|
||||
}
|
||||
|
||||
if(ob!=scene->obedit)
|
||||
ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
|
||||
|
||||
WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
|
||||
|
||||
}
|
||||
|
||||
static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
|
||||
|
||||
@@ -519,6 +519,7 @@ static void time_main_area_listener(ARegion *ar, wmNotifier *wmn)
|
||||
case NC_SCENE:
|
||||
switch (wmn->data) {
|
||||
case ND_OB_SELECT:
|
||||
case ND_OB_ACTIVE:
|
||||
case ND_FRAME:
|
||||
case ND_FRAME_RANGE:
|
||||
case ND_KEYINGSET:
|
||||
|
||||
Reference in New Issue
Block a user