Nikolay Sivov nsivov@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.
No, it's the same problem of not tested behaviour.
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.
Why the same can't be done at the time a notification needs to be sent? There are many places (starting from user32/WM_PARENTNOTIFY) which send notifications that way, what's so special about tab control?