test for modifier in state, not if they are equal
authorLucas de Sena <lucas@seninha.org>
Wed, 21 Dec 2022 15:54:29 +0000 (12:54 -0300)
committerLucas de Sena <lucas@seninha.org>
Wed, 21 Dec 2022 15:54:29 +0000 (12:54 -0300)
xmenu.c

diff --git a/xmenu.c b/xmenu.c
index cff634d..08b807d 100644 (file)
--- a/xmenu.c
+++ b/xmenu.c
@@ -1912,7 +1912,7 @@ main(int argc, char *argv[])
                        XNextEvent(dpy, &ev);
                if (!rootmodeflag ||
                    (ev.type == ButtonPress &&
                        XNextEvent(dpy, &ev);
                if (!rootmodeflag ||
                    (ev.type == ButtonPress &&
-                    ((modifier != 0 && ev.xbutton.state == modifier) ||
+                    ((modifier != 0 && (ev.xbutton.state & modifier)) ||
                      (ev.xbutton.subwindow == None)))) {
                        if (rootmodeflag && passclickflag) {
                                XAllowEvents(dpy, ReplayPointer, CurrentTime);
                      (ev.xbutton.subwindow == None)))) {
                        if (rootmodeflag && passclickflag) {
                                XAllowEvents(dpy, ReplayPointer, CurrentTime);