fix crash if negative monitor (< -1) was passed
authorHiltjo Posthuma <hiltjo@codemadness.org>
Tue, 26 Jul 2016 21:13:06 +0000 (23:13 +0200)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Tue, 26 Jul 2016 21:13:06 +0000 (23:13 +0200)
for example: dmenu -m '-9001'

dmenu.c

diff --git a/dmenu.c b/dmenu.c
index 8e84fbd..df51e76 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -541,7 +541,7 @@ setup(void)
 #ifdef XINERAMA
        if ((info = XineramaQueryScreens(dpy, &n))) {
                XGetInputFocus(dpy, &w, &di);
-               if (mon != -1 && mon < n)
+               if (mon >= 0 && mon < n)
                        i = mon;
                else if (w != root && w != PointerRoot && w != None) {
                        /* find top-level window containing current input focus */
@@ -558,7 +558,7 @@ setup(void)
                                        }
                }
                /* no focused window is on screen, so use pointer location instead */
-               if (mon == -1 && !area && XQueryPointer(dpy, root, &dw, &dw, &x, &y, &di, &di, &du))
+               if (mon < 0 && !area && XQueryPointer(dpy, root, &dw, &dw, &x, &y, &di, &di, &du))
                        for (i = 0; i < n; i++)
                                if (INTERSECT(x, y, 1, 1, info[i]))
                                        break;