diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-08-13 22:59:42 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-08-15 15:46:33 +0300 |
commit | 5d15e68743fc92b41a85ef4180628427ab3b86da (patch) | |
tree | 54e363980253f46ee300f23f6bd585c9d4b840fc /source/blender/editors | |
parent | 7907dfc400182b408e558d9fef1240d9929f8661 (diff) |
Fix viewport selection of markers not updating in all editors
This includes selections both in the clip editor as the viewport.
The selection is implemented as a synchronization function called from the eval
selection update node in depsgraph.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_clip/tracking_select.c | 9 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/editors/space_clip/tracking_select.c b/source/blender/editors/space_clip/tracking_select.c index 58bf8a50416..7fb2e32770d 100644 --- a/source/blender/editors/space_clip/tracking_select.c +++ b/source/blender/editors/space_clip/tracking_select.c @@ -54,6 +54,8 @@ #include "UI_view2d.h" +#include "DEG_depsgraph.h" + #include "tracking_ops_intern.h" /* own include */ #include "clip_intern.h" /* own include */ @@ -347,6 +349,7 @@ static int mouse_select(bContext *C, float co[2], int extend) BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_FINISHED; } @@ -390,6 +393,7 @@ static int select_invoke(bContext *C, wmOperator *op, const wmEvent *event) clip->tracking.act_track = track; WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_PASS_THROUGH; } @@ -507,6 +511,7 @@ static int border_select_exec(bContext *C, wmOperator *op) BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_FINISHED; } @@ -617,6 +622,7 @@ static int do_lasso_select_marker(bContext *C, const int mcords[][2], const shor BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); } return changed; @@ -759,6 +765,7 @@ static int circle_select_exec(bContext *C, wmOperator *op) BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_FINISHED; } @@ -884,6 +891,7 @@ static int select_all_exec(bContext *C, wmOperator *op) BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_FINISHED; } @@ -967,6 +975,7 @@ static int select_grouped_exec(bContext *C, wmOperator *op) BKE_tracking_dopesheet_tag_update(tracking); WM_event_add_notifier(C, NC_MOVIECLIP | ND_DISPLAY, clip); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 3181b72ac51..3ed98362467 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -1639,6 +1639,7 @@ static bool ed_object_select_pick( retval = true; DEG_id_tag_update(&scene->id, DEG_TAG_SELECT_UPDATE); + DEG_id_tag_update(&clip->id, DEG_TAG_SELECT_UPDATE); WM_event_add_notifier(C, NC_MOVIECLIP | ND_SELECT, track); WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene); |