Browse Source

Fix more memory leaks (issue #327)

Bart van Strien 13 years ago
parent
commit
cf2bfcc4a2
2 changed files with 6 additions and 1 deletions
  1. 1 1
      src/modules/physics/box2d/World.cpp
  2. 5 0
      src/modules/thread/wrap_Thread.cpp

+ 1 - 1
src/modules/physics/box2d/World.cpp

@@ -77,7 +77,7 @@ namespace box2d
 		
 			Contact * c = new Contact(contact);
 
-			luax_newtype(L, "Contact", (PHYSICS_CONTACT_T), (void*)c, false);
+			luax_newtype(L, "Contact", (PHYSICS_CONTACT_T), (void*)c, true);
 			
 			int args = 3;
 			if (impulse) {

+ 5 - 0
src/modules/thread/wrap_Thread.cpp

@@ -262,8 +262,13 @@ namespace thread
 			}
 		}
 		else
+		{
 			data = luax_checktype<love::Data>(L, 2, "Data", DATA_T);
+			data->retain();
+		}
 		Thread *t = instance->newThread(name, data);
+		// do not worry, file->read() returns retained data
+		data->release();
 		if (!t)
 			return luaL_error(L, "A thread with that name already exists.");
 		luax_newtype(L, "Thread", THREAD_THREAD_T, (void*)t);