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:
authorCampbell Barton <ideasman42@gmail.com>2019-07-05 09:25:54 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-07-05 09:28:01 +0300
commit31d762c3a80da99afa4e3ba6dd308746011de6cb (patch)
tree030a18be69a4c0ab84a88637a5601687780b6e85 /source/blender/editors/object/object_select.c
parent66684bdff30fdf3fffa02c71c0118b7d714e9b0e (diff)
Fix T66356: runtime assert disabling a collection
Diffstat (limited to 'source/blender/editors/object/object_select.c')
-rw-r--r--source/blender/editors/object/object_select.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index fcba69f7e5d..da06707ebac 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -119,18 +119,27 @@ void ED_object_base_select(Base *base, eObjectSelect_Mode mode)
}
/**
+ * Call when the active base has changed.
+ */
+void ED_object_base_active_refresh(Main *bmain, Scene *scene, ViewLayer *view_layer)
+{
+ WM_main_add_notifier(NC_SCENE | ND_OB_ACTIVE, scene);
+ DEG_id_tag_update(&scene->id, ID_RECALC_SELECT);
+ struct wmMsgBus *mbus = ((wmWindowManager *)bmain->wm.first)->message_bus;
+ if (mbus != NULL) {
+ WM_msg_publish_rna_prop(mbus, &scene->id, view_layer, LayerObjects, active);
+ }
+}
+
+/**
* Change active base, it includes the notifier
*/
void ED_object_base_activate(bContext *C, Base *base)
{
- struct wmMsgBus *mbus = CTX_wm_message_bus(C);
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
view_layer->basact = base;
-
- WM_event_add_notifier(C, NC_SCENE | ND_OB_ACTIVE, scene);
- WM_msg_publish_rna_prop(mbus, &scene->id, view_layer, LayerObjects, active);
- DEG_id_tag_update(&scene->id, ID_RECALC_SELECT);
+ ED_object_base_active_refresh(CTX_data_main(C), scene, view_layer);
}
bool ED_object_base_deselect_all_ex(ViewLayer *view_layer,