Fix all #29358 issues
authorTobias Markus <tobbi@mozilla-uk.org>
Fri, 27 Feb 2015 16:24:48 +0000 (17:24 +0100)
committerTobias Markus <tobbi@mozilla-uk.org>
Fri, 27 Feb 2015 16:24:48 +0000 (17:24 +0100)
src/worldmap/worldmap.cpp

index 4aa05c7..f6be69f 100644 (file)
@@ -1034,16 +1034,25 @@ WorldMap::save_state()
       store_bool(vm, "perfect", level->perfect);
       level->statistics.serialize_to_squirrel(vm);
 
-      sq_newslot(vm, -3, SQFalse);
+      if(SQ_FAILED(sq_newslot(vm, -3, SQFalse)))
+      {
+        throw std::runtime_error("failed to create '" + name + "' table entry");
+      }
     }
 
-    sq_newslot(vm, -3, SQFalse);
+    if(SQ_FAILED(sq_newslot(vm, -3, SQFalse)))
+    {
+      throw std::runtime_error("failed to create '" + name + "' table entry");
+    }
 
     // overall statistics...
     total_stats.serialize_to_squirrel(vm);
 
     // push world into worlds table
-    sq_newslot(vm, -3, SQFalse);
+    if(SQ_FAILED(sq_newslot(vm, -3, SQFalse)))
+    {
+      throw std::runtime_error("failed to create '" + name + "' table entry");
+    }
   } catch(std::exception& ) {
     sq_settop(vm, oldtop);
   }