[PATCH] winex11.drv: Request _NET_ACTIVE_WINDOW in SetFocus().
Dmitry Timoshkov
dmitry at baikal.ru
Thu May 31 10:10:49 CDT 2018
Zebediah Figura <zfigura at codeweavers.com> wrote:
> > New version of the patch still doesn't work here, same flickering in an
> > infinite loop until I move mouse over the test's window.
> >
>
> Thanks. It looks like Marco sends a WM_TAKE_FOCUS message when honouring
> a request to become the active window. Since we call
> SetForegroundWindow() inside of our WM_TAKE_FOCUS handler, we generate a
> loop. This wouldn't be a problem, except that the application creates
> two windows in quick succession before processing events, and Marco
> generates one WM_TAKE_FOCUS message for each, so we essentially start
> out one WM_TAKE_FOCUS message behind the most recent one.
>
> It's not clear to me what we should do about this; the spec doesn't seem
> to explicitly forbid any of this behaviour, but neither does it say we
> can depend on receiving WM_TAKE_FOCUS in response to a
> _NET_ACTIVE_WINDOW request. Could someone more knowledgeable about X11
> provide input?
Does the original version of the patch work for you? What is the reason
of the changes you've made in the staged patch?
--
Dmitry.
More information about the wine-devel
mailing list