null-pointer check if no terrain was picked for terraforming

This commit is contained in:
Enno Rehling 2005-11-19 15:54:16 +00:00
parent 881f1ff2df
commit 802228db41

View file

@ -937,6 +937,7 @@ movearound(short rx, short ry) {
if (r==NULL) break; if (r==NULL) break;
if (!Tagged) { if (!Tagged) {
const terrain_type * terrain = select_terrain(r->terrain); const terrain_type * terrain = select_terrain(r->terrain);
if (terrain!=NULL) {
if (hx>-1) { if (hx>-1) {
int Rx,Ry; int Rx,Ry;
Rx=rx; Ry=ry; Rx=rx; Ry=ry;
@ -948,19 +949,25 @@ movearound(short rx, short ry) {
if (c) terraform_region(c, terrain); if (c) terraform_region(c, terrain);
} }
} }
} else } else {
terraform_region(r, terrain); terraform_region(r, terrain);
}
}
} else { } else {
const terrain_type * terrain = select_terrain(r->terrain); const terrain_type * terrain = select_terrain(r->terrain);
for (tag=Tagged; tag; tag=tag->next) if (terrain!=NULL) {
for (tag=Tagged; tag; tag=tag->next) {
terraform_region(tag->r, terrain); terraform_region(tag->r, terrain);
} }
}
}
ch = -9; ch = -9;
modified = 1; modified = 1;
break; break;
case 'Z': case 'Z':
if (!Tagged) { if (!Tagged) {
const terrain_type * terrain = select_terrain(r->terrain); const terrain_type * terrain = select_terrain(r->terrain);
if (terrain!=NULL) {
if (hx>-1) { if (hx>-1) {
short Rx,Ry; short Rx,Ry;
Rx=rx; Ry=ry; Rx=rx; Ry=ry;
@ -974,11 +981,14 @@ movearound(short rx, short ry) {
} }
} else { } else {
r->terrain = terrain; r->terrain = terrain;
}
} }
} else { } else {
const terrain_type * terrain = select_terrain(r->terrain); const terrain_type * terrain = select_terrain(r->terrain);
if (terrain!=NULL) {
for (tag=Tagged; tag; tag=tag->next) { for (tag=Tagged; tag; tag=tag->next) {
tag->r->terrain = terrain; tag->r->terrain = terrain;
}
} }
} }
ch = -9; ch = -9;