This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch wl/tests-module
in repository enlightenment.

View the commit online.

commit 1cb047104bcaf6bfd501a883f9a7194f457446a6
Author: Cedric BAIL <[email protected]>
AuthorDate: Fri Aug 7 23:13:39 2026 -0600

    wl_buffer - advertise a wl_output
    
    The buffer backend never called e_comp_wl_output_init(), so it started up
    advertising no wl_output at all.
    
    e_comp_wl_output_init() is otherwise only reached from
    _e_comp_wl_cb_randr_change(), which needs either e_randr2 or fake xinerama
    screens to have produced a screen list. Behind an ecore_evas_buffer there
    is neither, and no randr event ever arrives - wl_wl has the same problem
    and works around it by calling e_comp_wl_output_init() by hand from its
    sync_done handler. wl_x11 gets one via e_comp_x_randr_canvas_new().
    
    A compositor with no wl_output is not much use to a client: every toolkit
    enumerates outputs to find scale, DPI and geometry, and simply gets an
    empty list. Call it directly, the way wl_wl does.
    
    While here, pass the module's own w/h to e_comp_canvas_init() instead of
    repeating the 1024x768 literal that initialised them two lines earlier.
    
    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
    Claude-Session: https://claude.ai/code/session_01FtoiXoSKUmZb6Aix6U3GZS
---
 src/modules/wl_buffer/e_mod_main.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/modules/wl_buffer/e_mod_main.c b/src/modules/wl_buffer/e_mod_main.c
index cc31bc47d..dcb5493c1 100644
--- a/src/modules/wl_buffer/e_mod_main.c
+++ b/src/modules/wl_buffer/e_mod_main.c
@@ -21,7 +21,16 @@ e_modapi_init(E_Module *m)
    elm_config_accel_preference_override_set(EINA_TRUE);
    ecore_evas_data_set(e_comp->ee, "comp", e_comp);
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!e_comp_wl_init(), NULL);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!e_comp_canvas_init(1024, 768), NULL);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(!e_comp_canvas_init(w, h), NULL);
+
+   /* Nothing else will do this for us. e_comp_wl_output_init() is otherwise
+    * only reached from _e_comp_wl_cb_randr_change(), which needs e_randr2 or
+    * fake xinerama screens -- neither of which exists behind an
+    * ecore_evas_buffer. wl_wl calls it by hand for the same reason.
+    *
+    * Without it the compositor advertises no wl_output at all, and every
+    * toolkit that enumerates outputs (which is most of them) misbehaves. */
+   e_comp_wl_output_init(NULL, NULL, NULL, 0, 0, w, h, 0, 0, 0, 0, 0, 0);
 
    ecore_event_evas_init();
    ecore_evas_input_event_register(e_comp->ee);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to