Browse Source

Ensure `joy_connection_changed` is emitted on the main thread

(cherry picked from commit 1bb73b0689a9cc2731eee63374f07e08b35b6e6a)
Ricardo Subtil 2 years ago
parent
commit
8e5c177f54
1 changed files with 3 additions and 2 deletions
  1. 3 2
      main/input_default.cpp

+ 3 - 2
main/input_default.cpp

@@ -282,8 +282,9 @@ void InputDefault::joy_connection_changed(int p_idx, bool p_connected, String p_
 	};
 	joy_names[p_idx] = js;
 
-	emit_signal("joy_connection_changed", p_idx, p_connected);
-};
+	// Ensure this signal is emitted on the main thread, as some platforms (e.g. Linux) call this from a different thread.
+	call_deferred("emit_signal", "joy_connection_changed", p_idx, p_connected);
+}
 
 Vector3 InputDefault::get_gravity() const {
 	_THREAD_SAFE_METHOD_