diff --git a/platform/macos/display_server_embedded.mm b/platform/macos/display_server_embedded.mm index 3c7c56d39a..1b8d3d37d3 100644 --- a/platform/macos/display_server_embedded.mm +++ b/platform/macos/display_server_embedded.mm @@ -427,7 +427,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);