fixed xinerama corner case 86019c58
Connor Lane Smith · 2011-05-12 13:17 1 file(s) · +7 −7
dmenu.c +7 −7
506 506
	mh = (lines + 1) * bh;
507 507
#ifdef XINERAMA
508 508
	if((info = XineramaQueryScreens(dc->dpy, &n))) {
509 -
		int i, m, di;
509 +
		int i, di;
510 510
		unsigned int du;
511 511
		Window dw;
512 512
513 513
		XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
514 -
		for(i = 0, m = -1; i < n; i++)
514 +
		for(i = 0; i < n-1; i++)
515 515
			if((monitor == info[i].screen_number)
516 -
			|| (m < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
517 -
				m = i;
518 -
		x = info[m].x_org;
519 -
		y = info[m].y_org + (topbar ? 0 : info[m].height - mh);
520 -
		mw = info[m].width;
516 +
			|| (monitor < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
517 +
				break;
518 +
		x = info[i].x_org;
519 +
		y = info[i].y_org + (topbar ? 0 : info[i].height - mh);
520 +
		mw = info[i].width;
521 521
		XFree(info);
522 522
	}
523 523
	else