36c8c3d95a
ROOT CAUSE: Qt6's auto-generated Wayland wrappers pass NULL proxies to wl_*_add_listener() during initialization. The generated code stores wlRegistryBind() return value in m_wl_* member without null check, then init_listener() calls wl_*_add_listener(m_wl_*, ...) which page-faults at null+8 (write to proxy->object.implementation). FIX (kded6): wrapper script renames libqwayland.so to .disabled before launching kded6.real. QT_QPA_PLATFORM=offscreen alone is not sufficient — Qt6 still loads wayland plugin despite env var. FIX (libwayland): null guards in redox.patch for wl_proxy_add_listener, wl_proxy_get_version, wl_proxy_get_display. Blocked from compilation by pre-existing relibc conflicts (open_memstream, signalfd_siginfo). FIX (Qt6 wrappers): regex-based null guard insertion proven in concept. Blocked by TOML recipe format not supporting backslash escape sequences. Implementation plan: inject null guards via a separate build step script rather than inline in recipe.toml.
KItemModels
Set of item models extending the Qt model-view framework
Introduction
KItemModels provides the following models:
- KBreadcrumbSelectionModel - Selects the parents of selected items to create breadcrumbs
- KCheckableProxyModel - Adds a checkable capability to a source model
- KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list
- KExtraColumnsProxyModel - Adds columns after existing columns
- KLinkItemSelectionModel - Share a selection in multiple views which do not have the same source model
- KModelIndexProxyMapper - Mapping of indexes and selections through proxy models
- KNumberModel - Creates a model of entries from N to M with rows at a given interval
- KRearrangeColumnsProxyModel - Can reorder and hide columns from the source model
- KRoleNames - Attached property to map between roles and role names of a model
- KSelectionProxyModel - A Proxy Model which presents a subset of its source model to observers