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.
This commit is contained in:
parent
b1874480ae
commit
4c03637fd1
2 changed files with 10 additions and 10 deletions
|
@ -1245,12 +1245,6 @@ void BScreen::manageWindow(Window w) {
|
|||
void BScreen::unmanageWindow(BlackboxWindow *w, bool remap) {
|
||||
w->restore(remap);
|
||||
|
||||
if (w->getWorkspaceNumber() != BSENTINEL &&
|
||||
w->getWindowNumber() != BSENTINEL)
|
||||
getWorkspace(w->getWorkspaceNumber())->removeWindow(w);
|
||||
else if (w->isIconic())
|
||||
removeIcon(w);
|
||||
|
||||
if (w->isNormal()) {
|
||||
// we don't list non-normal windows as managed windows
|
||||
windowList.remove(w);
|
||||
|
@ -1266,9 +1260,6 @@ void BScreen::unmanageWindow(BlackboxWindow *w, bool remap) {
|
|||
assert(it != end); // the window wasnt a desktop window?
|
||||
}
|
||||
|
||||
if (blackbox->getFocusedWindow() == w)
|
||||
blackbox->setFocusedWindow((BlackboxWindow *) 0);
|
||||
|
||||
removeNetizen(w->getClientWindow());
|
||||
|
||||
/*
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue