From eb46b01e97e0111c096fb60953de26fcb8779e87 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Thu, 26 May 2005 17:15:56 +0000 Subject: [PATCH] put all transients of the new window, if any exist, in the calc_showing 2005-05-26 Elijah Newren * src/window.c: (meta_window_new_with_attrs): put all transients of the new window, if any exist, in the calc_showing queue. Fixes #303284. --- ChangeLog | 6 ++++++ src/window.c | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4afe8df44..601a4262d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-05-26 Elijah Newren + + * src/window.c: (meta_window_new_with_attrs): put all transients + of the new window, if any exist, in the calc_showing queue. Fixes + #303284. + 2005-04-11 Elijah Newren * configure.in: post-release version bump to 2.10.2 diff --git a/src/window.c b/src/window.c index 445224a2b..d605b4fc2 100644 --- a/src/window.c +++ b/src/window.c @@ -106,6 +106,9 @@ static void meta_window_update_icon_now (MetaWindow *window); void meta_window_unqueue_update_icon (MetaWindow *window); void meta_window_flush_update_icon (MetaWindow *window); +static gboolean queue_calc_showing_func (MetaWindow *window, + void *data); + static void meta_window_apply_session_info (MetaWindow *window, const MetaWindowSessionInfo *info); @@ -720,6 +723,12 @@ meta_window_new_with_attrs (MetaDisplay *display, maybe_leave_show_desktop_mode (window); meta_window_queue_calc_showing (window); + /* See bug 303284; a transient of the given window can already exist, in which + * case we think it should probably be shown. + */ + meta_window_foreach_transient (window, + queue_calc_showing_func, + NULL); meta_error_trap_pop (display, FALSE); /* pop the XSync()-reducing trap */ meta_display_ungrab (display);