guint use_subsurface : 1;
+ guint in_present : 1;
+
GdkWindowTypeHint type_hint;
GtkGesture *multipress_gesture;
*/
if (startup_id_is_fake (priv->startup_id))
gtk_window_present_with_time (window, timestamp);
- else
+ else
{
- gdk_window_set_startup_id (gdk_window,
- priv->startup_id);
-
- /* If window is mapped, terminate the startup-notification too */
+ /* If window is mapped, terminate the startup-notification */
if (_gtk_widget_get_mapped (widget) &&
!disable_startup_notification)
- gdk_notify_startup_complete_with_id (priv->startup_id);
+ gdk_window_set_startup_id (gdk_window, priv->startup_id);
}
}
gdk_window_show (gdk_window);
- gtk_window_notify_startup (window);
+ if (!priv->in_present)
+ gtk_window_notify_startup (window);
/* if mnemonics visible is not already set
* (as in the case of popup menus), then hide mnemonics initially
gdk_x11_window_set_user_time (gdk_window, timestamp);
}
#endif
- if (!startup_id_is_fake (priv->startup_id))
- gdk_window_set_startup_id (gdk_window, priv->startup_id);
}
#ifdef GDK_WINDOWING_X11
else
{
priv->initial_timestamp = timestamp;
+ priv->in_present = TRUE;
gtk_widget_show (widget);
+ priv->in_present = FALSE;
}
+
+ gtk_window_notify_startup (window);
}
/**