On Wed, 7 May 2014 09:07:26 -0400 "Jasper St. Pierre" <jstpie...@mecheye.net> wrote:
> This took me a few minutes to figure out, so document it for the > next person who stumbles in here. > --- > src/compositor.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/compositor.c b/src/compositor.c > index 3d65e4c..120818f 100644 > --- a/src/compositor.c > +++ b/src/compositor.c > @@ -4245,7 +4245,13 @@ int main(int argc, char *argv[]) > ec->idle_time = idle_time; > ec->default_pointer_grab = NULL; > > - setenv("WAYLAND_DISPLAY", socket_name, 1); > + if (socket_name) { > + setenv("WAYLAND_DISPLAY", socket_name, 1); > + } else { > + /* Overwrite WAYLAND_DISPLAY so that nested Weston > + * instances don't try to open the parent's socket. */ > + setenv("WAYLAND_DISPLAY", NULL, 1); > + } > > if (option_shell) > shell = strdup(option_shell); Hi, this seems a little strange to me. How could socket_name ever be NULL? I think the compositor needs to set WAYLAND_DISPLAY always, so that clients have it in their environment, like weston-desktop-shell and so everything. The only case where WAYLAND_DISPLAY should be cleared is when the WAYLAND_SERVER_SOCKET thing prevents the normal socket from being created. I don't see that matching with socket_name==NULL. I already mentioned on IRC about the setenv(..., NULL, 1). Thanks, pq _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel