Browse Source

Remove node from list before calling queries, fixes #10886

Juan Linietsky 7 years ago
parent
commit
4deac219b0
2 changed files with 3 additions and 3 deletions
  1. 2 2
      servers/physics_2d/space_2d_sw.cpp
  2. 1 1
      servers/physics_2d_server.cpp

+ 2 - 2
servers/physics_2d/space_2d_sw.cpp

@@ -969,15 +969,15 @@ void Space2DSW::call_queries() {
 	while (state_query_list.first()) {
 
 		Body2DSW *b = state_query_list.first()->self();
-		b->call_queries();
 		state_query_list.remove(state_query_list.first());
+		b->call_queries();
 	}
 
 	while (monitor_query_list.first()) {
 
 		Area2DSW *a = monitor_query_list.first()->self();
-		a->call_queries();
 		monitor_query_list.remove(monitor_query_list.first());
+		a->call_queries();
 	}
 }
 

+ 1 - 1
servers/physics_2d_server.cpp

@@ -529,7 +529,7 @@ void Physics2DServer::_bind_methods() {
 
 	ClassDB::bind_method(D_METHOD("area_set_monitor_callback", "area", "receiver", "method"), &Physics2DServer::area_set_monitor_callback);
 
-	ClassDB::bind_method(D_METHOD("body_create", "mode", "init_sleeping"), &Physics2DServer::body_create, DEFVAL(BODY_MODE_RIGID), DEFVAL(false));
+	ClassDB::bind_method(D_METHOD("body_create"), &Physics2DServer::body_create);
 
 	ClassDB::bind_method(D_METHOD("body_set_space", "body", "space"), &Physics2DServer::body_set_space);
 	ClassDB::bind_method(D_METHOD("body_get_space", "body"), &Physics2DServer::body_get_space);