http://bugs.winehq.org/show_bug.cgi?id=60171 Benjamin (VBen) <devel@velmeden.info> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |testcase --- Comment #1 from Benjamin (VBen) <devel@velmeden.info> --- Proof of concept: attached `surfaceless-activation-repro.c` is a minimal, app-independent Win32 program (no MFC/Qt, no Loxone Config needed) that reproduces this mechanism directly. What it does: - Creates two ordinary top-level windows, `FRAME` (stays on screen) and `DOC` (made the active/foreground window). - Destroys `DOC`'s X11 "whole window" via `SetParent(DOC, HELPER)`, where `HELPER` is a third, unrelated window that's never shown. `dlls/winex11.drv/window.c`'s `X11DRV_SetParent()` tears down the whole window here even though `DOC` keeps its ordinary `WS_OVERLAPPEDWINDOW` style and win32u still treats it as an independently activatable top-level window -- exactly the win32u/X11-surface mismatch this bug hinges on, just triggered directly instead of through an app's own internal window-hosting choices. - Sets a flag simulating an in-progress, activation-sensitive operation (standing in for the real app's pending drag-and-drop placement). - Fires one real `SendInput` click at a screen point inside `DOC`'s bounds. Since `DOC` has no X11 surface there anymore, the click can only physically land on `FRAME`. Results (6 runs each, same tree, toggling the attached patch): - Unpatched (commit `1012f3d`, tagged `wine-11.14`): 6/6 reproduce the bug -- `DOC` receives `WM_ACTIVATE(WA_INACTIVE)`, the simulated pending operation is torn down, and `FRAME` becomes active with `WA_CLICKACTIVE`, the same activation-cause code seen in the real Loxone Config failure. - Patched: 6/6 pass -- `DOC` keeps its activation state and the pending operation survives, even though the click still physically falls through to `FRAME`. Paired logs from one representative run of each attached (`surfaceless-activation-repro-unpatched.log`, `surfaceless-activation-repro-patched.log`). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.