summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2010-08-06 08:24:10 +0200
committerDanny Baumann <dannybaumann@web.de>2010-08-06 08:24:10 +0200
commit345c430f991d95475478df5d3db7435eb08b8d1e (patch)
treee54dd9372c0952b016509a12e32118bd22eaa5d4
parent79f11ed2cd71d2155a5e04aa8803c56633b212bb (diff)
downloadworkarounds-compiz-0.8.tar.gz
workarounds-compiz-0.8.tar.bz2
Don't traverse all screens when receiving a client list PropertyNotify,compiz-0.8
but use the screen we received the notification for.
-rw-r--r--workarounds.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/workarounds.c b/workarounds.c
index 3fa308e..94f04fb 100644
--- a/workarounds.c
+++ b/workarounds.c
@@ -543,7 +543,6 @@ static void
workaroundsHandleEvent (CompDisplay *d,
XEvent *event)
{
- CompScreen *s;
CompWindow *w;
WORKAROUNDS_DISPLAY (d);
@@ -623,14 +622,17 @@ workaroundsHandleEvent (CompDisplay *d,
updateUrgencyState (w);
}
}
- else if (event->xproperty.atom == d->clientListAtom) {
- if (workaroundsGetJavaTaskbarFix (d)) {
- for (s = d->screens; s; s = s->next) {
- for (w = s->windows; w; w = w->next) {
- if (w->managed) {
- setWindowState(d,w->state,w->id);
- }
- }
+ else if (event->xproperty.atom == d->clientListAtom)
+ {
+ if (workaroundsGetJavaTaskbarFix (d))
+ {
+ CompScreen *s = findScreenAtDisplay (d,
+ event->xproperty.window);
+ if (s)
+ {
+ for (w = s->windows; w; w = w->next)
+ if (w->managed)
+ setWindowState(d, w->state, w->id);
}
}
}