From 6c58cdce1681a221c86007554463db49306c6c9e Mon Sep 17 00:00:00 2001 From: Gerard Patel Date: Wed, 7 Nov 2001 23:19:42 +0000 Subject: [PATCH] Repaired child window activation broken by previous change. --- dlls/x11drv/winpos.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/x11drv/winpos.c b/dlls/x11drv/winpos.c index 4619a77aa7f..729722ebca5 100644 --- a/dlls/x11drv/winpos.c +++ b/dlls/x11drv/winpos.c @@ -955,7 +955,14 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *winpos ) ShowCaret(winpos->hwnd); } - if (!(winpos->flags & SWP_NOACTIVATE)) SetActiveWindow( winpos->hwnd ); + if (!(winpos->flags & SWP_NOACTIVATE)) + { + /* child windows get WM_CHILDACTIVATE message */ + if ((GetWindowLongW( winpos->hwnd, GWL_STYLE ) & (WS_CHILD | WS_POPUP)) == WS_CHILD) + SendMessageA( winpos->hwnd, WM_CHILDACTIVATE, 0, 0 ); + else + SetActiveWindow( winpos->hwnd ); + } /* And last, send the WM_WINDOWPOSCHANGED message */