From: Christoph Lohmann <20h@r-36.net>
Date: Tue, 11 Dec 2012 07:32:08 +0000 (+0100)
Subject: Adding error checks for XCreateIC and XOpenIM.
X-Git-Url: https://git.owens.tech/projects.html/projects.html/git?a=commitdiff_plain;h=3c6ec1995d8ec4d8d5da7ca81d15adfdb08086aa;p=st.git

Adding error checks for XCreateIC and XOpenIM.
---

diff --git a/TODO b/TODO
index b1af774..a4cfeee 100644
--- a/TODO
+++ b/TODO
@@ -17,7 +17,6 @@ code & interface
 bugs
 ----
 
-* handle XOpenMI() errors
 * fix shift up/down (shift selection in emacs)
 * fix selection paste for xatom STRING
 * fix umlaut handling in settitle
diff --git a/st.c b/st.c
index 42061b9..da5f78d 100644
--- a/st.c
+++ b/st.c
@@ -2431,9 +2431,13 @@ xinit(void) {
 
 	/* input methods */
 	xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL);
+	if(xw.xim == NULL)
+		die("XOpenIM failed. Could not open input device.\n");
 	xw.xic = XCreateIC(xw.xim, XNInputStyle, XIMPreeditNothing
 					   | XIMStatusNothing, XNClientWindow, xw.win,
 					   XNFocusWindow, xw.win, NULL);
+	if(xw.xic == NULL)
+		die("XCreateIC failed. Could not obtain input method.\n");
 
 	/* white cursor, black outline */
 	cursor = XCreateFontCursor(xw.dpy, XC_xterm);