fix crash when XOpenIM returns NULL - dmenu - dynamic menu
 (HTM) git clone git://git.suckless.org/dmenu
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit f5036b90efd9423d805923a0bc73cd54e30e72ab
 (DIR) parent 153aaf88bf9bf5c6c4b118bd871f8cf1eafdcab5
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Tue, 12 Feb 2019 19:10:43 +0100
       
       fix crash when XOpenIM returns NULL
       
       for example when IME variables are set, but the program is not started (yet).
       
       Diffstat:
         M dmenu.c                             |      13 +++++++++++--
       
       1 file changed, 11 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/dmenu.c b/dmenu.c
       @@ -664,8 +664,17 @@ setup(void)
                                    CWOverrideRedirect | CWBackPixel | CWEventMask, &swa);
                XSetClassHint(dpy, win, &ch);
        
       -        /* open input methods */
       -        xim = XOpenIM(dpy, NULL, NULL, NULL);
       +
       +        /* input methods */
       +        if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL) {
       +                XSetLocaleModifiers("@im=local");
       +                if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL) {
       +                        XSetLocaleModifiers("@im=");
       +                        if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL)
       +                                die("XOpenIM failed. Could not open input device.\n");
       +                }
       +        }
       +
                xic = XCreateIC(xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
                                XNClientWindow, win, XNFocusWindow, win, NULL);