Fix: A few missing outliner selection sync tags
Add selection syncing for object add named (e.g. drag and drop from outliner to 3D view), outliner right click (a sync when the context menu is cancelled), and for object selection from Python.
This commit is contained in:
parent
18f33f293b
commit
f772a4b8fa
|
@ -2859,6 +2859,7 @@ static int add_named_exec(bContext *C, wmOperator *op)
|
|||
DEG_id_tag_update(&scene->id, ID_RECALC_SELECT);
|
||||
WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
|
||||
WM_event_add_notifier(C, NC_SCENE | ND_OB_ACTIVE, scene);
|
||||
ED_outliner_select_sync_from_object_tag(C);
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
|
|
@ -2382,6 +2382,7 @@ static int do_outliner_operation_event(
|
|||
/* Only redraw, don't rebuild here because TreeElement pointers will
|
||||
* become invalid and operations will crash. */
|
||||
ED_region_tag_redraw_no_rebuild(region);
|
||||
ED_outliner_select_sync_from_outliner(C, soops);
|
||||
}
|
||||
|
||||
set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "ED_outliner.h"
|
||||
|
||||
#include "rna_internal.h" /* own include */
|
||||
|
||||
static const EnumPropertyItem space_items[] = {
|
||||
|
@ -114,6 +116,7 @@ static void rna_Object_select_set(
|
|||
Scene *scene = CTX_data_scene(C);
|
||||
DEG_id_tag_update(&scene->id, ID_RECALC_SELECT);
|
||||
WM_main_add_notifier(NC_SCENE | ND_OB_SELECT, scene);
|
||||
ED_outliner_select_sync_from_object_tag(C);
|
||||
}
|
||||
|
||||
static bool rna_Object_select_get(Object *ob, bContext *C, ViewLayer *view_layer)
|
||||
|
|
Loading…
Reference in New Issue