comctl32: Make an attempt to update notification handle

Dmitry Timoshkov dmitry at baikal.ru
Sun Mar 24 22:48:21 CDT 2013


Nikolay Sivov <nsivov at 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.



More information about the wine-devel mailing list