diff --git a/libgimp/gimpui.c b/libgimp/gimpui.c index 54e04ee357..11bccd2e01 100644 --- a/libgimp/gimpui.c +++ b/libgimp/gimpui.c @@ -80,7 +80,9 @@ static void gimp_ui_draw_pixbuf_layout (GtkStyle *style, gint x, gint y, PangoLayout *layout); - +#ifdef GDK_WINDOWING_QUARTZ +static void gimp_osx_focus_window (void); +#endif static gboolean gimp_ui_initialized = FALSE; @@ -182,7 +184,7 @@ gimp_ui_init (const gchar *prog_name, gimp_dialogs_show_help_button (gimp_show_help_button ()); #ifdef GDK_WINDOWING_QUARTZ - [NSApp activateIgnoringOtherApps:YES]; + g_idle_add ((GSourceFunc) gimp_osx_focus_window, NULL); #endif gimp_ui_fix_pixbuf_style (); @@ -492,3 +494,11 @@ gimp_ui_draw_pixbuf_layout (GtkStyle *style, if (area) gdk_gc_set_clip_rectangle (gc, NULL); } + +#ifdef GDK_WINDOWING_QUARTZ +static void +gimp_osx_focus_window (void) +{ + [NSApp activateIgnoringOtherApps:YES]; +} +#endif