This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository enlightenment.
View the commit online.
commit 3ad1881b71be0e344e822c208aa72412023cfa51
Author: [email protected] <[email protected]>
AuthorDate: Sat Mar 7 16:11:13 2026 -0700
fix: update canvas and zones after applying RandR hardware configuration
After _do_apply() configures the X11 hardware via e_comp->screen->apply(),
the compositor canvas, E_Screen objects, and zone geometries were not
synchronized with the new configuration. This caused two critical bugs:
1. On external screen disconnect: zones retained the old screen geometry,
creating an incorrectly large virtual desktop on the laptop
2. On reconnect: X hardware was correct but zone geometry didn't match,
causing input coordinates to map to wrong targets despite correct
visual rendering
The fix adds canvas and zone synchronization immediately after hardware
configuration, while e_randr2->w/h have already been correctly computed
by _screen_config_eval(). This includes:
- e_comp_canvas_resize() to update compositor dimensions
- e_randr2_screens_setup() to rebuild E_Screen geometry
- e_comp_canvas_update() to finalize changes
- E_EVENT_RANDR_CHANGE event to notify listeners of the change
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
src/bin/e_randr2.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/bin/e_randr2.c b/src/bin/e_randr2.c
index 0534f4830..ec8e2f620 100644
--- a/src/bin/e_randr2.c
+++ b/src/bin/e_randr2.c
@@ -336,6 +336,11 @@ _do_apply(void)
_screen_config_eval();
printf("RRR: really apply config...\n");
e_comp->screen->apply();
+ printf("RRR: update canvas and zones after apply...\n");
+ e_comp_canvas_resize(e_randr2->w, e_randr2->h);
+ e_randr2_screens_setup(e_comp->w, e_comp->h);
+ e_comp_canvas_update();
+ ecore_event_add(E_EVENT_RANDR_CHANGE, NULL, NULL, NULL);
printf("RRR: done config...\n");
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.