commit d14670b9959f8b3760b63dd40a70687a90312b8a
Author:     Hiltjo Posthuma <[email protected]>
AuthorDate: Tue Jul 26 23:13:06 2016 +0200
Commit:     Hiltjo Posthuma <[email protected]>
CommitDate: Tue Jul 26 23:13:06 2016 +0200

    fix crash if negative monitor (< -1) was passed
    
    for example: dmenu -m '-9001'

diff --git a/dmenu.c b/dmenu.c
index 8e84fbd..df51e76 100644
--- 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;

Reply via email to