Sweden-Number/dlls/user32
Stefan Dösinger ccf430eb52 user32: Silently ignore temporary foreground loss.
The basic problem is this: Thread A has a window W1 that is it's focus
window and the system-global foreground window. At some point thread A
stops processing messages. After that, thread B creates a window W2
and makes it the foreground window. Thread B later on makes W1 (from
Thread A) the foreground window again. After restoring W1 as the
foreground window, Thread A processes window messages again. Two
WM_WINE_SETACTIVEWINDOW messages are in the queue, one for losing the
foreground thread propery and one for restoring it. The first one will
generates a WM_ACTIVATEAPP(0) message, which causes D3D to minimize
the game window.

The included test shows that Windows doesn't deliver any
WM_ACTIVATEAPP messages if the thread stopped being the foreground
thread and re-gained that property between two message processing
calls. It isn't implemented with a plain WM_ACTIVATEAPP filter, the
manually injected message in the test still gets through.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:53 +09:00
..
resources
tests user32: Silently ignore temporary foreground loss. 2015-11-01 22:53:53 +09:00
Makefile.in
button.c
caret.c
class.c
clipboard.c
combo.c
controls.h
cursoricon.c
dde_client.c
dde_misc.c
dde_private.h
dde_server.c
defdlg.c
defwnd.c
desktop.c
dialog.c
driver.c
edit.c
exticon.c
focus.c
hook.c
icontitle.c
input.c
listbox.c
lstr.c
mdi.c
menu.c
message.c user32: Silently ignore temporary foreground loss. 2015-11-01 22:53:53 +09:00
misc.c
msgbox.c
nonclient.c
painting.c
property.c
resource.c
resources.h
scroll.c
spy.c
static.c
sysparams.c
text.c
uitools.c
user32.rc
user32.spec
user_main.c
user_private.h
win.c
win.h
winhelp.c
winpos.c
winproc.c
winstation.c
wsprintf.c