summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2014-07-15 10:58:48 -0400
committerChris Michael <cp.michael@samsung.com>2014-09-08 09:05:44 -0400
commit76c852b66a0e1e5a6dd2c53f6c23b3caeee65245 (patch)
treee9573911a5566dc6cafbefb7da75f2c89f943a07
parent22e939c18a2ed3ea56023e9f03a551dfeaeac92c (diff)
downloadenlightenment-76c852b66a0e1e5a6dd2c53f6c23b3caeee65245.tar.gz
xwayland: Fix launching of XWayland server and pass proper display to
wl_client_create Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/modules/xwayland/e_mod_main.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/modules/xwayland/e_mod_main.c b/src/modules/xwayland/e_mod_main.c
index 5ff6d555dc..dec6b880c8 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -164,7 +164,7 @@ static Eina_Bool
_cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr EINA_UNUSED)
{
int socks[2], wms[2], fd;
- char disp[8], s[8], *xserver = NULL;
+ char disp[8], s[8], xserver[PATH_MAX];
char abs_fd[8], unx_fd[8], wm_fd[8];
if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, socks) < 0)
@@ -200,10 +200,11 @@ _cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr EINA_UNUSED)
/* ignore usr1 and have X send it to the parent process */
signal(SIGUSR1, SIG_IGN);
- /* FIXME: need to get the patch of xwayland */
+ /* FIXME: need to get the path of xwayland */
snprintf(disp, sizeof(disp), ":%d", exs->disp);
- DBG("XWAYLAND: %s", XWAYLAND_BIN);
+ snprintf(xserver, sizeof(xserver), "%s", XWAYLAND_BIN);
+ DBG("\tLaunching XWayland: %s", xserver);
if (execl(xserver, xserver, disp, "-rootless", "-listen", abs_fd,
"-listen", unx_fd, "-wm", wm_fd, "-terminate", NULL) < 0)
{
@@ -216,7 +217,7 @@ fail:
break;
default:
close(socks[1]);
- exs->client = wl_client_create(exs->disp, socks[0]);
+ exs->client = wl_client_create(exs->wl_disp, socks[0]);
close(wms[1]);
exs->wm_fd = wms[0];
@@ -237,6 +238,8 @@ _cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_
/* NB: SIGUSR1 comes from XWayland Server when it has finished
* initialized. */
+ DBG("XWayland Finished Init");
+
/* TODO: create "window manager" process */
/* TODO: NB:
@@ -256,6 +259,8 @@ e_modapi_init(E_Module *m)
E_Comp *comp;
char disp[8];
+ DBG("LOAD XWAYLAND MODULE");
+
/* try to get the running compositor */
if (!(comp = e_comp_get(NULL))) return NULL;