From 9c5019a9a9acd33c4757a0a1d4f0944c92e57ffd Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Thu, 10 Dec 2009 09:58:10 +0000 Subject: Notifier related fixes: [#20319] 3D View - need 3D cursor notifier [#20321] Views not receiving the NC_ID notifier --- source/blender/editors/space_action/space_action.c | 15 +++++++++++++++ source/blender/editors/space_graph/space_graph.c | 7 +++++++ source/blender/editors/space_logic/space_logic.c | 7 +++++++ source/blender/editors/space_nla/space_nla.c | 14 ++++++++++++++ source/blender/editors/space_node/space_node.c | 7 +++++++ source/blender/editors/space_sequencer/space_sequencer.c | 15 ++++++++++++++- source/blender/editors/space_view3d/space_view3d.c | 4 ++-- source/blender/editors/space_view3d/view3d_edit.c | 12 ++++-------- 8 files changed, 70 insertions(+), 11 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c index 0bf3e3f70cb..0cbc2ce9078 100644 --- a/source/blender/editors/space_action/space_action.c +++ b/source/blender/editors/space_action/space_action.c @@ -291,6 +291,13 @@ static void action_channel_area_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; default: if(wmn->data==ND_KEYS) ED_region_tag_redraw(ar); @@ -331,6 +338,14 @@ static void action_main_area_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; + default: if(wmn->data==ND_KEYS) ED_region_tag_redraw(ar); diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c index f6d25bd7285..d77caa4c0e3 100644 --- a/source/blender/editors/space_graph/space_graph.c +++ b/source/blender/editors/space_graph/space_graph.c @@ -407,6 +407,13 @@ static void graph_region_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; default: if(wmn->data==ND_KEYS) ED_region_tag_redraw(ar); diff --git a/source/blender/editors/space_logic/space_logic.c b/source/blender/editors/space_logic/space_logic.c index f9fdbb92db9..ed8c7f2e4e7 100644 --- a/source/blender/editors/space_logic/space_logic.c +++ b/source/blender/editors/space_logic/space_logic.c @@ -217,6 +217,13 @@ static void logic_listener(ARegion *ar, wmNotifier *wmn) break; case NC_OBJECT: break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; } } diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c index 572ad44f680..8aceb647fe2 100644 --- a/source/blender/editors/space_nla/space_nla.c +++ b/source/blender/editors/space_nla/space_nla.c @@ -422,6 +422,13 @@ static void nla_main_area_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; default: if(wmn->data==ND_KEYS) ED_region_tag_redraw(ar); @@ -451,6 +458,13 @@ static void nla_channel_area_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; default: if(wmn->data==ND_KEYS) ED_region_tag_redraw(ar); diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index b0ce1a6bd3e..64db1520ba1 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -314,6 +314,13 @@ static void node_region_listener(ARegion *ar, wmNotifier *wmn) case NC_NODE: ED_region_tag_redraw(ar); break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; } } diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c index 00df314df6c..3f23cdfc1a5 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.c +++ b/source/blender/editors/space_sequencer/space_sequencer.c @@ -241,6 +241,13 @@ static void sequencer_main_area_listener(ARegion *ar, wmNotifier *wmn) if(wmn->data == ND_SPACE_SEQUENCER) ED_region_tag_redraw(ar); break; + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; } } @@ -276,7 +283,13 @@ static void sequencer_buttons_area_listener(ARegion *ar, wmNotifier *wmn) if(wmn->data == ND_SPACE_SEQUENCER) ED_region_tag_redraw(ar); break; - + case NC_ID: + switch(wmn->data) { + case ND_ID_RENAME: + ED_region_tag_redraw(ar); + break; + } + break; } } /* ************************************* */ diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index db617473291..bd277f68513 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -452,12 +452,12 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) case ND_OB_ACTIVE: case ND_OB_SELECT: case ND_LAYER: - ED_region_tag_redraw(ar); - break; case ND_MODE: ED_region_tag_redraw(ar); break; } + if (wmn->action == NA_EDITED) + ED_region_tag_redraw(ar); break; case NC_OBJECT: switch(wmn->data) { diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index ad40a7266af..fd20b534dd7 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -2108,14 +2108,10 @@ static int set_3dcursor_invoke(bContext *C, wmOperator *op, wmEvent *event) fp[2]= (rv3d->persinv[0][2]*dx + rv3d->persinv[1][2]*dy+ rv3d->persinv[2][2]*fz)-rv3d->ofs[2]; } -// if(lr_click) { - // XXX if(obedit->type==OB_MESH) add_click_mesh(); - // else if ELEM(obedit->type, OB_CURVE, OB_SURF) addvert_Nurb(0); - // else if (obedit->type==OB_ARMATURE) addvert_armature(); -// VECCOPY(fp, oldcurs); -// } - // XXX notifier for scene */ - ED_area_tag_redraw(CTX_wm_area(C)); + if(v3d && v3d->localvd) + WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d); + else + WM_event_add_notifier(C, NC_SCENE|NA_EDITED, scene); return OPERATOR_FINISHED; } -- cgit v1.2.3