From 4c03637fd1cd5273a030abe38dfffa65c67fd420 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 23 Jul 2002 01:05:31 +0000 Subject: modal transients wouldnt throw their focus up to their arent cuz the parent didnt know the modal dialog was gone yet and would pass it back to them. --- src/Window.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/Window.cc') diff --git a/src/Window.cc b/src/Window.cc index bd2f0c06..722409f9 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -361,9 +361,18 @@ BlackboxWindow::~BlackboxWindow(void) { if (client.transient_for != (BlackboxWindow *) ~0ul) { client.transient_for->client.transientList.remove(this); } - client.transient_for = (BlackboxWindow*) 0; + // we save our transient_for though because the workspace will use it + // when determining the next window to get focus } + if (blackbox_attrib.workspace != BSENTINEL && + window_number != BSENTINEL) + screen->getWorkspace(blackbox_attrib.workspace)->removeWindow(this); + else if (flags.iconic) + screen->removeIcon(this); + + client.transient_for = (BlackboxWindow*) 0; + if (client.transientList.size() > 0) { // reset transient_for for all transients BlackboxWindowList::iterator it, end = client.transientList.end(); -- cgit v1.2.3