On 3/25/2013 07:34, Dmitry Timoshkov wrote:
Nikolay Sivov <nsivov(a)codeweavers.com> wrote:
+ case WM_WINDOWPOSCHANGING: + { + HWND parent = GetParent(hwnd); + if (parent) infoPtr->hwndNotify = parent; + return DefWindowProcW(hwnd, uMsg, wParam, lParam); + } What if an application subclasses tab and doesn't pass WM_WINDOWPOSCHANGING to the original proc? Then it will fail just like it does currently, and will work for the rest of the applications. Is it really supposed to fail? That's a different problem.
Why not just call GetParent() every time when a notification is being sent? Because it won't work if you create a control without WS_CHILD. How is that different from the WM_WINDOWPOSCHANGING handler? How what is different? There's a check for null parent as you can see.