--- ray/src/rt/glass.c 1992/05/20 10:24:26 2.2 +++ ray/src/rt/glass.c 1992/10/14 12:27:47 2.4 @@ -46,7 +46,6 @@ m_glass(m, r) /* color a ray which hit a thin glass s OBJREC *m; register RAY *r; { - double sqrt(), pow(); COLOR mcolor; double pdot; FVECT pnorm; @@ -97,7 +96,10 @@ register RAY *r; for (i = 0; i < 3; i++) /* perturb direction */ p.rdir[i] = r->rdir[i] + 2.*(1.-rindex)*r->pert[i]; - normalize(p.rdir); + if (normalize(p.rdir) == 0.0) { + objerror(m, WARNING, "bad perturbation"); + VCOPY(p.rdir, r->rdir); + } } else { VCOPY(p.rdir, r->rdir); transtest = 2;