Nikolay Sivov <nsi...@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? -- Dmitry.