"Erich E. Hoover" ehoover@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.