don't crash when adding an object after the previously selected object

has been deleted (thanks to Bischofftep for pointing this out)
This commit is contained in:
2003-05-14 00:23:58 +00:00
parent 1bcb3b251e
commit c760bd6e3c
2 changed files with 15 additions and 11 deletions

View File

@@ -2716,11 +2716,11 @@ static uiBlock *info_filemenu(void *arg_unused)
static void do_info_editmenu(void *arg, int event)
{
/* needed to check for valid selected objects */
Base *base;
Object *ob;
Base *base=NULL;
Object *ob=NULL;
base= BASACT;
ob= base->object;
if (base) ob= base->object;
switch(event) {
@@ -2777,7 +2777,8 @@ static void do_info_editmenu(void *arg, int event)
case 9:
/* Shear */
/* check that a valid object is selected to prevent crash */
if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
if (!ob) error ("Only selected objects can be sheared");
else if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
error("Only editable 3D objects can be sheared");
}
else if ((base->lay & G.vd->lay)==0) {
@@ -2805,7 +2806,8 @@ static void do_info_editmenu(void *arg, int event)
case 10:
/* Warp/Bend */
/* check that a valid object is selected to prevent crash */
if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
if (!ob) error("Only selected objects can be warped");
else if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
error("Only editable 3D objects can be warped");
}
else if ((base->lay & G.vd->lay)==0) {

View File

@@ -568,11 +568,11 @@ void tbox_execute(void)
unsigned short qual1=0, qual2=0;
/* needed to check for valid selected objects */
Base *base;
Object *ob;
Base *base=NULL;
Object *ob=NULL;
base= BASACT;
ob= base->object;
if (base) ob= base->object;
if(tbfunc) {
tbfunc(tbval);
@@ -598,11 +598,12 @@ void tbox_execute(void)
/* ctrl-s (Shear): switch into editmode ### */
else if(strcmp(tbstr1, "c|s")==0) {
/* check that a valid object is selected to prevent crash */
if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
if(!ob) error("Only selected objects can be sheared");
else if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
error("Only editable 3D objects can be sheared");
}
else if ((base->lay & G.vd->lay)==0) {
error("Only objects on visible layers can be warped");
error("Only objects on visible layers can be sheared");
}
else {
if (!G.obedit) {
@@ -619,8 +620,9 @@ void tbox_execute(void)
}
}
else if(strcmp(tbstr1, "W")==0) {
if (!ob) error ("Only selected objects can be warped");
/* check that a valid object is selected to prevent crash */
if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
else if ((ob->type==OB_LAMP) || (ob->type==OB_EMPTY) || (ob->type==OB_FONT) || (ob->type==OB_CAMERA)) {
error("Only editable 3D objects can be warped");
}
else if ((base->lay & G.vd->lay)==0) {