From 655c33c4898338db7cb3c9099e6eae6ec4e362f3 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 1 May 2009 17:50:20 +0000 Subject: fix the other 50% of xrandr cases; reported by sthen@ "commit that" oga@, ok sthen@ --- xevents.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'xevents.c') diff --git a/xevents.c b/xevents.c index b0822f7..13d6675 100644 --- a/xevents.c +++ b/xevents.c @@ -358,15 +358,17 @@ void xev_handle_randr(struct xevent *xev, XEvent *ee) { XRRScreenChangeNotifyEvent *rev = (XRRScreenChangeNotifyEvent *)ee; - struct client_ctx *cc; struct screen_ctx *sc; - - if ((cc = client_find(rev->window)) != NULL) { - XRRUpdateConfiguration(ee); - sc = CCTOSC(cc); - sc->xmax = rev->width; - sc->ymax = rev->height; - screen_init_xinerama(sc); + int i; + + i = XRRRootToScreen(X_Dpy, rev->root); + TAILQ_FOREACH(sc, &Screenq, entry) { + if (sc->which == (u_int)i) { + XRRUpdateConfiguration(ee); + sc->xmax = rev->width; + sc->ymax = rev->height; + screen_init_xinerama(sc); + } } } -- cgit 1.4.1