diff options
author | Danny Baumann <dannybaumann@web.de> | 2010-08-06 08:24:10 +0200 |
---|---|---|
committer | Danny Baumann <dannybaumann@web.de> | 2010-08-06 08:24:10 +0200 |
commit | 345c430f991d95475478df5d3db7435eb08b8d1e (patch) | |
tree | e54dd9372c0952b016509a12e32118bd22eaa5d4 | |
parent | 79f11ed2cd71d2155a5e04aa8803c56633b212bb (diff) | |
download | workarounds-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.c | 20 |
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); } } } |