summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-07 05:48:12 +0000
committerDana Jansens <danakj@orodu.net>2003-01-07 05:48:12 +0000
commitdc532b7661e0d9bc72c25b74fa987ce50f3f0b31 (patch)
tree47d5282cd04ec3f8dbd1e2bf6d49f26ba60df759
parenteccab56a6c06c9c2f5764d7913fd794961f60214 (diff)
change the unmanae ordeer around to have the callbacks fire last
-rw-r--r--src/screen.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/screen.cc b/src/screen.cc
index 7f15b243..eddda8df 100644
--- a/src/screen.cc
+++ b/src/screen.cc
@@ -556,12 +556,6 @@ void OBScreen::unmanageWindow(OBClient *client)
Openbox::instance->bindings()->grabButtons(false, client);
- // remove from the stacking order
- _stacking.remove(client);
-
- // unfocus the client
- client->unfocus();
-
// remove from the wm's map
Openbox::instance->removeClient(client->window());
Openbox::instance->removeClient(frame->window());
@@ -592,8 +586,15 @@ void OBScreen::unmanageWindow(OBClient *client)
delete client->frame;
client->frame = 0;
+ // remove from the stacking order
+ _stacking.remove(client);
+
// remove from the screen's list
clients.remove(client);
+
+ // unfocus the client (calls the focus callbacks)
+ client->unfocus();
+
delete client;
// update the root properties