Piotr Caban piotr@codeweavers.com writes:
dlls/user32/focus.c | 1 + dlls/user32/tests/win.c | 4 ++++ 2 files changed, 5 insertions(+)
diff --git a/dlls/user32/focus.c b/dlls/user32/focus.c index bd2e572..c47a82d 100644 --- a/dlls/user32/focus.c +++ b/dlls/user32/focus.c @@ -277,6 +277,7 @@ HWND WINAPI SetFocus( HWND hwnd ) HWND parent; LONG style = GetWindowLongW( hwndTop, GWL_STYLE ); if (style & (WS_MINIMIZE | WS_DISABLED)) return 0;
if (!(style & WS_CHILD)) break;
It doesn't look right to allow setting focus if a parent is disabled. This would need more tests.
Also please write a better description of the change, "improve implementation" is not very helpful.
On 03/19/14 10:51, Alexandre Julliard wrote:
Piotr Caban piotr@codeweavers.com writes:
dlls/user32/focus.c | 1 + dlls/user32/tests/win.c | 4 ++++ 2 files changed, 5 insertions(+)
diff --git a/dlls/user32/focus.c b/dlls/user32/focus.c index bd2e572..c47a82d 100644 --- a/dlls/user32/focus.c +++ b/dlls/user32/focus.c @@ -277,6 +277,7 @@ HWND WINAPI SetFocus( HWND hwnd ) HWND parent; LONG style = GetWindowLongW( hwndTop, GWL_STYLE ); if (style & (WS_MINIMIZE | WS_DISABLED)) return 0;
if (!(style & WS_CHILD)) break;
It doesn't look right to allow setting focus if a parent is disabled. This would need more tests.
At least on Windows 7 it's possible to set focus if parent is disabled and child has no WS_CHILD flag. I'll write more tests.
I'll also try to check why the tests are currently failing on testbot before sending it again.
Thanks, Piotr