diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-23 16:17:28 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-23 16:17:28 +0000 |
| commit | 5cb2020b9b9cd146d7a5dffa47b44110d8d963ff (patch) | |
| tree | b8fded84f9521671f571e2727077df728b91392c /src/Window.cc | |
| parent | 733b4f4a3366eca53dc68fd40069b673b0261c96 (diff) | |
make modal dialogs unmodal before reassigning focus when they are unmanaged
Diffstat (limited to 'src/Window.cc')
| -rw-r--r-- | src/Window.cc | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/Window.cc b/src/Window.cc index 6126bdc5..6131ec49 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -347,6 +347,10 @@ BlackboxWindow::~BlackboxWindow(void) { if (flags.moving) endMove(); + delete timer; + + delete windowmenu; + if (client.window_group) { BWindowGroup *group = blackbox->searchGroup(client.window_group); if (group) group->removeWindow(this); @@ -357,18 +361,9 @@ BlackboxWindow::~BlackboxWindow(void) { if (client.transient_for != (BlackboxWindow *) ~0ul) { client.transient_for->client.transientList.remove(this); } - // we save our transient_for though because the workspace will use it - // when determining the next window to get focus + client.transient_for = (BlackboxWindow*) 0; } - 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(); @@ -377,10 +372,6 @@ BlackboxWindow::~BlackboxWindow(void) { } } - delete timer; - - delete windowmenu; - if (frame.title) destroyTitlebar(); |
