This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch netbsd_support
in repository enlightenment.
View the commit online.
commit 88fb583b9367452711cb1926c97d957ef927849c
Author: [email protected] <[email protected]>
AuthorDate: Thu Aug 6 09:31:31 2026 -0600
randr2 - guard canvas update on evas, not ee, for wayland startup
_do_apply() only runs at startup from the second boot onward, once
e_randr2.cfg exists and matches a screen (e_randr2_init()). Its guard
tested e_comp->ee to decide whether the canvas was ready, but the wl_drm
backend creates e_comp->ee before calling e_comp_wl_init() ->
e_randr2_init(), and only assigns e_comp->evas later in
e_comp_canvas_init(). So on wayland the guard passed with a NULL evas and
e_comp_canvas_update() built zones whose bg_clip_object and friends were
NULL, then e_comp_canvas_init() built a second set - duplicate zones.
Everything on the desktop is clipped to zone->bg_clip_object, so the
wallpaper (e_bg.c) and the init splash (e_init.c) both ended up clipped to
nothing: black screen, no loader, from the second start on. X11 calls
e_randr2_init() after the canvas exists, so it saw both pointers set and
was never affected.
Test evas instead - it is what e_zone_new() actually needs.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
---
src/bin/e_randr2.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/bin/e_randr2.c b/src/bin/e_randr2.c
index 11eca86f6..8acb27e66 100644
--- a/src/bin/e_randr2.c
+++ b/src/bin/e_randr2.c
@@ -340,7 +340,10 @@ _do_apply(void)
// e_randr2_init(), _do_apply() is called before e_comp->ee/evas exist,
// so e_comp_canvas_update() would create broken zones with NULL evas
// objects, causing duplicate zones and a black screen at startup.
- if (e_comp->ee)
+ // test evas, not ee: the wl_drm backend creates e_comp->ee before it
+ // calls e_comp_wl_init() -> e_randr2_init(), and only sets e_comp->evas
+ // later in e_comp_canvas_init(). evas is what e_zone_new() needs.
+ if (e_comp->evas)
{
e_comp_canvas_resize(e_randr2->w, e_randr2->h);
e_randr2_screens_setup(e_comp->w, e_comp->h);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.