forked from bartvdbraak/blender
Bugfix #3372
When using the pulldown menus for exiting weightpaint, it did not free octree tables for weightpaint, giving an error message on re-entering weightpaint.
This commit is contained in:
parent
66867140dd
commit
fe9bd18a84
@ -3931,7 +3931,7 @@ void do_view3d_buttons(short event)
|
||||
G.vd->flag &= ~V3D_MODE;
|
||||
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
|
||||
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
|
||||
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
|
||||
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
|
||||
G.f &= ~G_FACESELECT; /* Switch off face select */
|
||||
if(ob) exit_posemode(); /* exit posemode for active object */
|
||||
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
|
||||
@ -3941,7 +3941,7 @@ void do_view3d_buttons(short event)
|
||||
G.vd->flag &= ~V3D_MODE;
|
||||
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
|
||||
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
|
||||
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
|
||||
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
|
||||
|
||||
enter_editmode();
|
||||
BIF_undo_push("Original"); // here, because all over code enter_editmode is abused
|
||||
@ -3958,7 +3958,7 @@ void do_view3d_buttons(short event)
|
||||
G.vd->flag &= ~V3D_MODE;
|
||||
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
|
||||
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
|
||||
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
|
||||
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
|
||||
if (G.obedit) exit_editmode(2); /* exit editmode and undo */
|
||||
|
||||
set_faceselect();
|
||||
@ -3968,7 +3968,7 @@ void do_view3d_buttons(short event)
|
||||
if (!(G.f & G_VERTEXPAINT)) {
|
||||
G.vd->flag &= ~V3D_MODE;
|
||||
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
|
||||
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
|
||||
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
|
||||
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
|
||||
|
||||
set_vpaint();
|
||||
@ -3978,7 +3978,7 @@ void do_view3d_buttons(short event)
|
||||
if (!(G.f & G_TEXTUREPAINT)) {
|
||||
G.vd->flag &= ~V3D_MODE;
|
||||
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
|
||||
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
|
||||
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
|
||||
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
|
||||
|
||||
G.f |= G_TEXTUREPAINT; /* Switch on texture paint flag */
|
||||
|
@ -757,8 +757,8 @@ int mesh_octree_table(Object *ob, float *co, char mode)
|
||||
if(div[1]==0.0f) div[1]= 1.0f;
|
||||
if(div[2]==0.0f) div[2]= 1.0f;
|
||||
|
||||
if(basetable) /* error should not happen, added to prevent coding errors */
|
||||
error("Mesh octree table coding error");
|
||||
if(basetable) /* happens when entering wpaint without closing it */
|
||||
mesh_octree_table(ob, co, 'e');
|
||||
|
||||
basetable= MEM_callocN(MOC_RES*MOC_RES*MOC_RES*sizeof(void *), "sym table");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user