This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch feat/e-wl-proxy-planb
in repository enlightenment.
View the commit online.
commit 11a5aaf93bbf122950b9e31db54f4434c9688932
Author: [email protected] <[email protected]>
AuthorDate: Mon Jun 8 11:03:23 2026 -0600
fix(wl): restore public WAYLAND_DISPLAY after backend socket create
ecore_wl2_display_create() overwrites WAYLAND_DISPLAY with the socket name
it creates. Behind e_wl_proxy that is the private backend, so every client
E spawned would bypass the proxy. Capture the public name before the call
and restore it after.
---
src/bin/e_comp_wl.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 7062c35b8..f8d0e3635 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2794,15 +2794,30 @@ _e_comp_wl_compositor_create(void)
/* try to create an ecore_wl2 display. When run behind e_wl_proxy,
* E_WL_SOCKET names the private backend socket the proxy connects to;
- * otherwise NULL keeps the auto-named socket. */
- cdata->ewd = ecore_wl2_display_create(getenv("E_WL_SOCKET"));
+ * otherwise NULL keeps the auto-named socket. ecore_wl2_display_create()
+ * overwrites WAYLAND_DISPLAY with the socket name it created, so capture
+ * the proxy's public name first and restore it afterwards — otherwise every
+ * client E spawns would connect straight to the backend, bypassing the
+ * proxy. */
+ const char *backend = getenv("E_WL_SOCKET");
+ char *public_disp = (backend && getenv("WAYLAND_DISPLAY")) ?
+ strdup(getenv("WAYLAND_DISPLAY")) : NULL;
+
+ cdata->ewd = ecore_wl2_display_create(backend);
if (!cdata->ewd)
{
ERR("Could not create a Wayland display");
+ free(public_disp);
free(cdata);
return EINA_FALSE;
}
+ if (public_disp)
+ {
+ e_env_set("WAYLAND_DISPLAY", public_disp);
+ free(public_disp);
+ }
+
cdata->wl.disp = ecore_wl2_display_get(cdata->ewd);
if (!cdata->wl.disp)
{
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.