tx: check we still have an XIC context before accessing it - st - [fork] custom… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit cd785755f2e3e3305c7d2556a04423a40bce060a | |
parent 2cb539142b97bd2a5c1a322fd7c063c6afb67c9b | |
Author: Quentin Rameau <[email protected]> | |
Date: Sun, 2 Feb 2020 17:38:36 +0100 | |
x: check we still have an XIC context before accessing it | |
Diffstat: | |
M x.c | 7 +++++-- | |
1 file changed, 5 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/x.c b/x.c | |
t@@ -1061,6 +1061,7 @@ void | |
ximdestroy(XIM xim, XPointer client, XPointer call) | |
{ | |
xw.ime.xim = NULL; | |
+ xw.ime.xic = NULL; | |
XRegisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL, | |
ximinstantiate, NULL); | |
XFree(xw.ime.spotlist); | |
t@@ -1692,13 +1693,15 @@ focus(XEvent *ev) | |
return; | |
if (ev->type == FocusIn) { | |
- XSetICFocus(xw.ime.xic); | |
+ if (xw.ime.xic) | |
+ XSetICFocus(xw.ime.xic); | |
win.mode |= MODE_FOCUSED; | |
xseturgency(0); | |
if (IS_SET(MODE_FOCUS)) | |
ttywrite("\033[I", 3, 0); | |
} else { | |
- XUnsetICFocus(xw.ime.xic); | |
+ if (xw.ime.xic) | |
+ XUnsetICFocus(xw.ime.xic); | |
win.mode &= ~MODE_FOCUSED; | |
if (IS_SET(MODE_FOCUS)) | |
ttywrite("\033[O", 3, 0); |