Browse Source

added error at get_surface, to prevent crashes

rdb 17 years ago
parent
commit
aa92d0c62e
1 changed files with 5 additions and 0 deletions
  1. 5 0
      panda/src/ode/odeWorld.cxx

+ 5 - 0
panda/src/ode/odeWorld.cxx

@@ -107,6 +107,11 @@ get_surface(PN_uint8 surface1, PN_uint8 surface2)
     {
     {
         true_pos = (surface2 * _num_surfaces) + surface1;
         true_pos = (surface2 * _num_surfaces) + surface1;
     }
     }
+    if((_num_surfaces <= surface1) || (_num_surfaces <= surface2))
+    {
+        odeworld_cat.error() << "surface position exceeds size of surface table, set num_surface in initSurfaceTable higher." << "\n";
+        //nassertr_always((_num_surfaces > surface1 && _num_surfaces > surface2), _surface_table[true_pos]);
+    }
     return _surface_table[true_pos];
     return _surface_table[true_pos];
 }
 }