June 4, 2026
5:44 p.m.
In winex11, WM_NCACTIVATE is sent by win32u in response to NtUserSetForegroundWindowInternal called from X11DRV_FocusIn. The X11 WM is an independent source of focus events that can fire before Win32 activation state catches up, so set_active_window sees previous_active != dialog and sends WM_NCACTIVATE(TRUE) through the normal path. On Android there is no window manager — Wine is the sole source of truth for focus state. When set_active_window skips WM_NCACTIVATE via goto done (line 2016, previous == hwnd), there is no external event to re-trigger it. The driver must send WM_NCACTIVATE(TRUE) directly. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10945#note_142210