Avoid failing when embedding with a Window id of 0
authorQuentin Rameau <quinq.ml@gmail.com>
Wed, 15 Oct 2014 22:42:53 +0000 (00:42 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Tue, 21 Oct 2014 16:18:26 +0000 (18:18 +0200)
I'd like to let st run with its own window when trying to embed it to a window with id 0 instead of exiting with an error.

st.c

diff --git a/st.c b/st.c
index bcf96e9..23dd7f1 100644 (file)
--- a/st.c
+++ b/st.c
@@ -3136,8 +3136,8 @@ xinit(void) {
                | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
        xw.attrs.colormap = xw.cmap;
 
-       parent = opt_embed ? strtol(opt_embed, NULL, 0) : \
-                       XRootWindow(xw.dpy, xw.scr);
+       if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0))))
+               parent = XRootWindow(xw.dpy, xw.scr);
        xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t,
                        xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
                        xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity