[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