diff --git a/source/blender/src/drawnode.c b/source/blender/src/drawnode.c index 7f9f13920d3..17aceb24745 100644 --- a/source/blender/src/drawnode.c +++ b/source/blender/src/drawnode.c @@ -216,22 +216,23 @@ static int node_buts_rgb(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *bu { if(block) { bNodeSocket *sock= node->outputs.first; /* first socket stores value */ - - /* enforce square box drawing */ - uiBlockSetEmboss(block, UI_EMBOSSP); - - uiDefButF(block, HSVCUBE, B_NODE_EXEC, "", - butr->xmin, butr->ymin, butr->xmax-butr->xmin, 12, - sock->ns.vec, 0.0f, 1.0f, 3, 0, ""); - uiDefButF(block, HSVCUBE, B_NODE_EXEC, "", - butr->xmin, butr->ymin+15, butr->xmax-butr->xmin, butr->ymax-butr->ymin -15 -15, - sock->ns.vec, 0.0f, 1.0f, 2, 0, ""); - uiDefButF(block, COL, B_NOP, "", - butr->xmin, butr->ymax-12, butr->xmax-butr->xmin, 12, - sock->ns.vec, 0.0, 0.0, -1, 0, ""); - /* the -1 above prevents col button to popup a color picker */ - - uiBlockSetEmboss(block, UI_EMBOSS); + if(sock) { + /* enforce square box drawing */ + uiBlockSetEmboss(block, UI_EMBOSSP); + + uiDefButF(block, HSVCUBE, B_NODE_EXEC, "", + butr->xmin, butr->ymin, butr->xmax-butr->xmin, 12, + sock->ns.vec, 0.0f, 1.0f, 3, 0, ""); + uiDefButF(block, HSVCUBE, B_NODE_EXEC, "", + butr->xmin, butr->ymin+15, butr->xmax-butr->xmin, butr->ymax-butr->ymin -15 -15, + sock->ns.vec, 0.0f, 1.0f, 2, 0, ""); + uiDefButF(block, COL, B_NOP, "", + butr->xmin, butr->ymax-12, butr->xmax-butr->xmin, 12, + sock->ns.vec, 0.0, 0.0, -1, 0, ""); + /* the -1 above prevents col button to popup a color picker */ + + uiBlockSetEmboss(block, UI_EMBOSS); + } } return 30 + (int)(node->width-NODE_DY); } diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c index f5dc0f458cf..5e8cc3225ee 100644 --- a/source/blender/src/drawview.c +++ b/source/blender/src/drawview.c @@ -2389,16 +2389,20 @@ void drawview3d_render(struct View3D *v3d, int winx, int winy) { Base *base; Scene *setscene; - + float winmat[4][4]; + update_for_newframe_muted(); /* first, since camera can be animated */ setwinmatrixview3d(winx, winy, NULL); setviewmatrixview3d(); myloadmatrix(v3d->viewmat); -// Mat4MulMat4(v3d->persmat, v3d->viewmat, winmat); -// Mat4Invert(v3d->persinv, v3d->persmat); -// Mat4Invert(v3d->viewinv, v3d->viewmat); + glMatrixMode(GL_PROJECTION); + mygetmatrix(winmat); + glMatrixMode(GL_MODELVIEW); + Mat4MulMat4(v3d->persmat, v3d->viewmat, winmat); + Mat4Invert(v3d->persinv, v3d->persmat); + Mat4Invert(v3d->viewinv, v3d->viewmat); free_all_realtime_images(); reshadeall_displist(); diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c index ce6344b7b8d..114c3983712 100644 --- a/source/blender/src/editnode.c +++ b/source/blender/src/editnode.c @@ -1129,7 +1129,7 @@ static void node_add_menu(SpaceNode *snode) } else if(snode->treetype==NTREE_COMPOSIT) { /* compo menu, still hardcoded defines... solve */ - event= pupmenu("Add Node%t|Output%x201|Render Result %x221|Image %x220|RGB Curves%x209|AlphaOver %x210|Blur %x211|Filter %x212|Value %x203|Color %x202|Mix %x204|ColorRamp %x205|Color to BW %x206|Normal %x207"); + event= pupmenu("Add Node%t|Output%x201|Render Output%x202|Render Result %x221|Image %x220|RGB Curves%x209|AlphaOver %x210|Blur %x211|Filter %x212|Value %x203|Color %x202|Mix %x204|ColorRamp %x205|Color to BW %x206|Normal %x207"); if(event<1) return; } else return; diff --git a/source/blender/src/renderwin.c b/source/blender/src/renderwin.c index 69f0a998285..97f1a6fbca2 100644 --- a/source/blender/src/renderwin.c +++ b/source/blender/src/renderwin.c @@ -1051,6 +1051,7 @@ void BIF_do_ogl_render(View3D *v3d, int anim) if(anim) { bMovieHandle *mh= BKE_get_movie_handle(G.scene->r.imtype); + int cfrao= CFRA; mh->start_movie(&G.scene->r, winx, winy); @@ -1063,6 +1064,7 @@ void BIF_do_ogl_render(View3D *v3d, int anim) if(test_break()) break; } mh->end_movie(); + CFRA= cfrao; } else { drawview3d_render(v3d, winx, winy);