Browse Source

macOS: Fix a crash if no input event is set for a specific window

Stuart Carnie 4 months ago
parent
commit
19dcd7162b
1 changed files with 4 additions and 1 deletions
  1. 4 1
      platform/macos/display_server_embedded.mm

+ 4 - 1
platform/macos/display_server_embedded.mm

@@ -426,7 +426,10 @@ void DisplayServerEmbedded::_dispatch_input_events(const Ref<InputEvent> &p_even
 
 void DisplayServerEmbedded::send_input_event(const Ref<InputEvent> &p_event, WindowID p_id) const {
 	if (p_id != INVALID_WINDOW_ID) {
-		_window_callback(input_event_callbacks[p_id], p_event);
+		const Callable *cb = input_event_callbacks.getptr(p_id);
+		if (cb) {
+			_window_callback(*cb, p_event);
+		}
 	} else {
 		for (const KeyValue<WindowID, Callable> &E : input_event_callbacks) {
 			_window_callback(E.value, p_event);