[PATCH 3/9] hhctrl.ocx: Centralize merging HH_WINTYPE data (resend).
Alexandre Julliard
julliard at winehq.org
Mon Jul 16 11:18:58 CDT 2012
"Erich E. Hoover" <ehoover at mymail.mines.edu> writes:
> @@ -28,6 +28,13 @@
>
> WINE_DEFAULT_DEBUG_CHANNEL(htmlhelp);
>
> +#define HHWIN_PARAM_MASK (HHWIN_PARAM_PROPERTIES|HHWIN_PARAM_STYLES|HHWIN_PARAM_EXSTYLES|HHWIN_PARAM_RECT\
> + |HHWIN_PARAM_NAV_WIDTH|HHWIN_PARAM_SHOWSTATE|HHWIN_PARAM_INFOTYPES\
> + |HHWIN_PARAM_TB_FLAGS|HHWIN_PARAM_EXPANSION|HHWIN_PARAM_TABPOS\
> + |HHWIN_PARAM_TABORDER|HHWIN_PARAM_HISTORY_COUNT|HHWIN_PARAM_CUR_TAB)
> +#define MERGE_PARAM(s,d,o,p) ((s->fsValidMembers & p) && (!(d->fsValidMembers & p) || o))
> +#define MERGE_PROP(s,d,o,p) (s->p != 0 && (d->p == 0 || o))
These macros are fairly ugly, you should be able to do without that.
> @@ -1752,16 +1752,16 @@ void ReleaseHelpViewer(HHInfo *info)
> list_remove(&info->entry);
>
> /* Free allocated strings */
> - heap_free(info->pszType);
> - heap_free(info->pszCaption);
> - heap_free(info->pszToc);
> - heap_free(info->pszIndex);
> - heap_free(info->pszFile);
> - heap_free(info->pszHome);
> - heap_free(info->pszJump1);
> - heap_free(info->pszJump2);
> - heap_free(info->pszUrlJump1);
> - heap_free(info->pszUrlJump2);
> + heap_free((LPVOID)info->WinType.pszType);
> + heap_free((LPVOID)info->WinType.pszCaption);
> + heap_free((LPVOID)info->WinType.pszToc);
> + heap_free((LPVOID)info->WinType.pszIndex);
> + heap_free((LPVOID)info->WinType.pszFile);
> + heap_free((LPVOID)info->WinType.pszHome);
> + heap_free((LPVOID)info->WinType.pszJump1);
> + heap_free((LPVOID)info->WinType.pszJump2);
> + heap_free((LPVOID)info->WinType.pszUrlJump1);
> + heap_free((LPVOID)info->WinType.pszUrlJump2);
Don't do that.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list