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/space_clip | |
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/space_clip')
-rw-r--r-- | source/blender/editors/space_clip/tracking_select.c | 9 |
1 files changed, 9 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; } |