]> git.mxchange.org Git - simgear.git/commitdiff
Protect against divide-by-zero error.
authorStuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Thu, 15 Jan 2015 21:47:22 +0000 (21:47 +0000)
committerStuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Thu, 15 Jan 2015 21:47:22 +0000 (21:47 +0000)
Patch from Emilian Huminiuc.

simgear/scene/sky/newcloud.cxx

index e18f6f6e8c4b7e747ce7572bd388878bfc8bcc09..6e7b91affdb9ece8b0bcd99786e7bc09ee1c6302 100644 (file)
@@ -151,8 +151,10 @@ osg::ref_ptr<EffectGeode> SGNewCloud::genCloud() {
     float height = min_height + mt_rand(seed) * (max_height - min_height) - min_sprite_height;
     
     if (width  < 0.0) { width  = 0.0; }
-    if (height < 0.0) { height = 0.0; }
     
+    // Protect against divide by 0 issues later when assigning index_y
+    if (height <= 0.0) { height = 0.01; }
+
     // Determine appropriate shading factors
     float top_factor = min_top_lighting_factor + mt_rand(seed) * (max_top_lighting_factor - min_top_lighting_factor);
     float middle_factor = min_middle_lighting_factor + mt_rand(seed) * (max_middle_lighting_factor - min_middle_lighting_factor);