dmenu: fix crash with XMODIFIERS

Fixes #59625
This commit is contained in:
Orivej Desh 2019-07-14 13:45:42 +00:00
parent a62fa2f17f
commit 1f16d0496c
2 changed files with 32 additions and 1 deletions

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? null }:
{ stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? [ ./xim.patch ] }:
stdenv.mkDerivation rec {
name = "dmenu-4.9";

View file

@ -0,0 +1,31 @@
Revert https://git.suckless.org/dmenu/commit/377bd37e212b1ec4c03a481245603c6560d0be22.html
Upstream has reverted it after v4.9 in https://git.suckless.org/dmenu/commit/db6093f6ec1bb884f7540f2512935b5254750b30.html
--- a/dmenu.c
+++ b/dmenu.c
@@ -552,7 +552,7 @@ run(void)
XEvent ev;
while (!XNextEvent(dpy, &ev)) {
- if (XFilterEvent(&ev, None))
+ if (XFilterEvent(&ev, win))
continue;
switch(ev.type) {
case Expose:
@@ -664,7 +664,6 @@ setup(void)
XNClientWindow, win, XNFocusWindow, win, NULL);
XMapRaised(dpy, win);
- XSetInputFocus(dpy, win, RevertToParent, CurrentTime);
if (embed) {
XSelectInput(dpy, parentwin, FocusChangeMask);
if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) {
@@ -730,8 +729,6 @@ main(int argc, char *argv[])
if (!setlocale(LC_CTYPE, "") || !XSupportsLocale())
fputs("warning: no locale support\n", stderr);
- if (!XSetLocaleModifiers(""))
- fputs("warning: no locale modifiers support\n", stderr);
if (!(dpy = XOpenDisplay(NULL)))
die("cannot open display");
screen = DefaultScreen(dpy);