diff --git a/platform/macos/display_server_embedded.mm b/platform/macos/display_server_embedded.mm index 538a672d383..78217f14128 100644 --- a/platform/macos/display_server_embedded.mm +++ b/platform/macos/display_server_embedded.mm @@ -426,7 +426,10 @@ void DisplayServerEmbedded::_dispatch_input_events(const Ref &p_even void DisplayServerEmbedded::send_input_event(const Ref &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 &E : input_event_callbacks) { _window_callback(E.value, p_event);