Revision: 36439 http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36439 Author: blendix Date: 2011-05-02 12:31:09 +0000 (Mon, 02 May 2011) Log Message: ----------- Fix #27098: missing 3d view updates when editing GLSL material nodes.
Modified Paths: -------------- trunk/blender/source/blender/editors/space_node/node_edit.c trunk/blender/source/blender/editors/space_node/node_header.c trunk/blender/source/blender/editors/space_node/node_intern.h trunk/blender/source/blender/editors/space_view3d/space_view3d.c Modified: trunk/blender/source/blender/editors/space_node/node_edit.c =================================================================== --- trunk/blender/source/blender/editors/space_node/node_edit.c 2011-05-02 12:19:43 UTC (rev 36438) +++ trunk/blender/source/blender/editors/space_node/node_edit.c 2011-05-02 12:31:09 UTC (rev 36439) @@ -51,6 +51,7 @@ #include "BLI_utildefines.h" #include "BKE_context.h" +#include "BKE_depsgraph.h" #include "BKE_global.h" #include "BKE_image.h" #include "BKE_library.h" @@ -234,6 +235,11 @@ return nodeGetActive(ntree); } +void snode_dag_update(bContext *UNUSED(C), SpaceNode *snode) +{ + DAG_id_tag_update(snode->id, 0); +} + void snode_notify(bContext *C, SpaceNode *snode) { WM_event_add_notifier(C, NC_NODE|NA_EDITED, NULL); @@ -912,7 +918,8 @@ return OPERATOR_CANCELLED; } - WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL); + snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2014,6 +2021,7 @@ node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2169,6 +2177,7 @@ ntreeSolveOrder(snode->edittree); node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); BLI_remlink(&snode->linkdrag, nldrag); MEM_freeN(nldrag); @@ -2303,6 +2312,7 @@ node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2377,6 +2387,7 @@ ntreeSolveOrder(snode->edittree); node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2436,6 +2447,8 @@ } snode_notify(C, snode); + snode_dag_update(C, snode); + return OPERATOR_FINISHED; } @@ -2464,6 +2477,7 @@ RE_MergeFullSample(re, bmain, curscene, snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); WM_cursor_wait(0); return OPERATOR_FINISHED; @@ -2572,6 +2586,7 @@ } snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2758,6 +2773,7 @@ } snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2799,6 +2815,7 @@ node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2900,6 +2917,7 @@ node->id = (ID *)ima; snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } Modified: trunk/blender/source/blender/editors/space_node/node_header.c =================================================================== --- trunk/blender/source/blender/editors/space_node/node_header.c 2011-05-02 12:19:43 UTC (rev 36438) +++ trunk/blender/source/blender/editors/space_node/node_header.c 2011-05-02 12:31:09 UTC (rev 36439) @@ -102,6 +102,7 @@ } snode_notify(C, snode); + snode_dag_update(C, snode); } static void node_auto_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) Modified: trunk/blender/source/blender/editors/space_node/node_intern.h =================================================================== --- trunk/blender/source/blender/editors/space_node/node_intern.h 2011-05-02 12:19:43 UTC (rev 36438) +++ trunk/blender/source/blender/editors/space_node/node_intern.h 2011-05-02 12:31:09 UTC (rev 36439) @@ -95,6 +95,7 @@ /* node_edit.c */ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype); void snode_notify(bContext *C, SpaceNode *snode); +void snode_dag_update(bContext *C, SpaceNode *snode); bNode *next_node(bNodeTree *ntree); bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy); void snode_set_context(SpaceNode *snode, Scene *scene); Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c =================================================================== --- trunk/blender/source/blender/editors/space_view3d/space_view3d.c 2011-05-02 12:19:43 UTC (rev 36438) +++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c 2011-05-02 12:31:09 UTC (rev 36439) @@ -975,7 +975,14 @@ break; } break; - + case NC_MATERIAL: + switch(wmn->data) { + case ND_NODES: + if(v3d->drawtype == OB_TEXTURE) + ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW); + break; + } + break; } #if 0 // removed since BKE_image_user_calc_frame is now called in draw_bgpic because screen_ops doesnt call the notifier. _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs