summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-01-24 14:41:46 -0500
committerDana Jansens <danakj@orodu.net>2008-01-31 12:26:22 -0500
commit33131761db5f9eabb4d97b0c6f147597d6041ac6 (patch)
treeed1b7287ad8c70fa69a4e2bcb13db11ba22738bf /openbox
parent266d141fee9964af416a10d72bf78b57fa7e0c25 (diff)
don't check for the root window in the window hash tables. waste of cpu
Diffstat (limited to 'openbox')
-rw-r--r--openbox/event.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 2e3a44c5..8443e08c 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -465,7 +465,9 @@ static void event_process(const XEvent *ec, gpointer data)
e = &ee;
window = event_get_window(e);
- if ((obwin = window_find(window))) {
+ if (window == obt_root(ob_screen))
+ /* don't do any lookups, waste of cpu */;
+ else if ((obwin = window_find(window))) {
switch (obwin->type) {
case OB_WINDOW_CLASS_DOCK:
dock = WINDOW_AS_DOCK(obwin);
@@ -1227,14 +1229,14 @@ static void event_handle_client(ObClient *client, XEvent *e)
break;
}
case UnmapNotify:
- if (client->ignore_unmaps) {
- client->ignore_unmaps--;
- break;
- }
ob_debug("UnmapNotify for window 0x%x eventwin 0x%x sendevent %d "
"ignores left %d\n",
client->window, e->xunmap.event, e->xunmap.from_configure,
client->ignore_unmaps);
+ if (client->ignore_unmaps) {
+ client->ignore_unmaps--;
+ break;
+ }
client_unmanage(client);
break;
case DestroyNotify: