[PATCH 1/9] hhctrl.ocx: Implement HH_CLOSE_ALL (resend).
Jacek Caban
jacek at codeweavers.com
Mon Jul 9 04:31:05 CDT 2012
On 07/09/12 02:13, Erich E. Hoover wrote:
> + case HH_CLOSE_ALL: {
> + struct list *ptr;
> + HHInfo *info;
> +
> + LIST_FOR_EACH(ptr, &window_list)
> + {
> + info = LIST_ENTRY(ptr, HHInfo, entry);
> + TRACE("Destroying window %s.\n", debugstr_w(info->pszType));
> + if (info->WinType.hwndHelp)
> + DestroyWindow(info->WinType.hwndHelp);
> + list_remove(&info->entry);
> + }
How is it supposed to work? AFAICS you're destroying windows, removing
info object from the list and forget about it. If your intention is to
destroy these objects, then ReleaseHelpViewer seems more appropriate.
Also moving list_remove call to ReleaseHelpViewer seems preferable, so
that it's removed from the list regardless of the reason for being
destroyed. Same for list_add_tail, shouldn't it be done in CreateHelpViewer?
Jacek
More information about the wine-devel
mailing list