commit 86019c58555b5d9514cfe2eba14248588a812f16
parent 0291c722fb298768d1942824ea2900399566e8a1
Author: Connor Lane Smith <[email protected]>
Date: Thu, 12 May 2011 13:17:41 +0100
fixed xinerama corner case
Diffstat:
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/dmenu.c b/dmenu.c
@@ -506,18 +506,18 @@ setup(void) {
mh = (lines + 1) * bh;
#ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) {
- int i, m, di;
+ int i, di;
unsigned int du;
Window dw;
XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
- for(i = 0, m = -1; i < n; i++)
+ for(i = 0; i < n-1; i++)
if((monitor == info[i].screen_number)
- || (m < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
- m = i;
- x = info[m].x_org;
- y = info[m].y_org + (topbar ? 0 : info[m].height - mh);
- mw = info[m].width;
+ || (monitor < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
+ break;
+ x = info[i].x_org;
+ y = info[i].y_org + (topbar ? 0 : info[i].height - mh);
+ mw = info[i].width;
XFree(info);
}
else