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:
Ton Roosendaal 2005-11-11 18:58:45 +00:00
parent 66867140dd
commit fe9bd18a84
2 changed files with 7 additions and 7 deletions

@ -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");