File tree Expand file tree Collapse file tree 3 files changed +11
-0
lines changed
Expand file tree Collapse file tree 3 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -241,6 +241,8 @@ class DisplayServerMacOS : public DisplayServer {
241241 NSImage *_convert_to_nsimg (Ref<Image> &p_image) const ;
242242 Point2i _get_screens_origin () const ;
243243
244+ void set_menu_delegate (NSMenu *p_menu);
245+
244246 void send_event (NSEvent *p_event);
245247 void send_window_event (const WindowData &p_wd, WindowEvent p_event);
246248 void release_pressed_events ();
Original file line number Diff line number Diff line change 290290 displays_arrangement_dirty = false ;
291291}
292292
293+ void DisplayServerMacOS::set_menu_delegate (NSMenu *p_menu) {
294+ [p_menu setDelegate: menu_delegate];
295+ }
296+
293297Point2i DisplayServerMacOS::_get_screens_origin () const {
294298 // Returns the native top-left screen coordinate of the smallest rectangle
295299 // that encompasses all screens. Needed in get_screen_position(),
Original file line number Diff line number Diff line change 223223RID NativeMenuMacOS::create_menu () {
224224 MenuData *md = memnew (MenuData);
225225 md->menu = [[NSMenu alloc ] initWithTitle: @" " ];
226+ [md->menu setAutoenablesItems: NO ];
227+ DisplayServerMacOS *ds = (DisplayServerMacOS *)DisplayServer::get_singleton ();
228+ if (ds) {
229+ ds->set_menu_delegate (md->menu );
230+ }
226231 RID rid = menus.make_rid (md);
227232 menu_lookup[md->menu] = rid;
228233 return rid;
You can’t perform that action at this time.
0 commit comments