2e53cabfc0
Root cause: qtwaylandscanner emits unconditional init_listener() calls.
Generated code: wl_*_add_listener(m_wl_*, ...) without null check.
NULL proxy from wlRegistryBind() → page fault at offset 8.
Fix: patched qtwaylandscanner.cpp line 1297 to emit null-guarded
listener registration:
if (m_%s) %s_add_listener(m_%s, &m_%s_listener, this);
This covers ALL generated Wayland wrappers — wl_*, xdg_*, zwp_*, wp_* —
in one generator change. Removed fragile regex post-build patching.
VERIFIED: greeter UI boots without page fault. QML loads. Wayland
binds all 7 globals (compositor/shp/seat/output/data_device_mgr/
subcompositor/xdg_wm_base). QWaylandDisplay: valid registry+display.