GNOME Bugzilla – Bug 668801
[NSApp finishLaunching]; missing in OSX backend
Last modified: 2012-03-06 15:45:17 UTC
Please call [NSApp finishLaunching]; once on the start of the event loop to enable support for the standard Apple Application behavior. Without this call Adding Menus or Application Delegate will not work. I fixed it in clutter-event-loop like this: ----- static gboolean bfinished_launching = FALSE; static gint poll_func (GPollFD *ufds, guint nfds, gint timeout_) { NSEvent *event; NSDate *limit_date; gint n_ready; if(!bfinished_launching) { bfinished_launching = TRUE; [NSApp finishLaunching]; } ... ------ Reference about OSX App Run loop internal: http://cocoawithlove.com/2009/01/demystifying-nsapplication-by.html
Created attachment 206257 [details] [review] osx: Call finishLaunching on post-parse
I'd rather have the Backend emit finishLaunching at the correct place in the initialization sequence, instead of doing so in the event loop. I don't want to modify the Quartz event-loop too much, to avoid issues when resynchronising it with the original in gtk.
I just checked in gtk+, and the new GtkApplication class calls finishLaunching during the session startup sequence. at this point, having a ClutterApplication may be a good idea.
Attachment 206257 [details] pushed as 0581387 - osx: Call finishLaunching on post-parse