Erich Hoover : hhctrl.ocx: Store all the parameters the first time the WinType is filled in.

Alexandre Julliard julliard at winehq.org
Wed Oct 3 13:20:35 CDT 2012


Module: wine
Branch: master
Commit: bc2258d678d43062441bbc62f98ad3d7370ab4be
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bc2258d678d43062441bbc62f98ad3d7370ab4be

Author: Erich Hoover <ehoover at mines.edu>
Date:   Tue Oct  2 15:13:14 2012 -0600

hhctrl.ocx: Store all the parameters the first time the WinType is filled in.

---

 dlls/hhctrl.ocx/chm.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/hhctrl.ocx/chm.c b/dlls/hhctrl.ocx/chm.c
index 88bd6e5..e3f2a44 100644
--- a/dlls/hhctrl.ocx/chm.c
+++ b/dlls/hhctrl.ocx/chm.c
@@ -263,6 +263,13 @@ void MergeChmProperties(HH_WINTYPEW *src, HHInfo *info, BOOL override)
     if (unhandled_params)
         FIXME("Unsupported fsValidMembers fields: 0x%x\n", unhandled_params);
 
+    dst->fsValidMembers |= merge;
+    if (dst->cbStruct == 0)
+    {
+        /* If the structure has not been filled in yet then use all of the values */
+        dst->cbStruct = sizeof(HH_WINTYPEW);
+        merge = ~0;
+    }
     if (merge & HHWIN_PARAM_PROPERTIES) dst->fsWinProperties = src->fsWinProperties;
     if (merge & HHWIN_PARAM_STYLES) dst->dwStyles = src->dwStyles;
     if (merge & HHWIN_PARAM_EXSTYLES) dst->dwExStyles = src->dwExStyles;
@@ -276,7 +283,6 @@ void MergeChmProperties(HH_WINTYPEW *src, HHInfo *info, BOOL override)
     if (merge & HHWIN_PARAM_TABORDER) memcpy(&dst->tabOrder, &src->tabOrder, sizeof(src->tabOrder));
     if (merge & HHWIN_PARAM_HISTORY_COUNT) dst->cHistory = src->cHistory;
     if (merge & HHWIN_PARAM_CUR_TAB) dst->curNavType = src->curNavType;
-    dst->fsValidMembers |= merge;
 
     /*
      * Note: We assume that hwndHelp, hwndCaller, hwndToolBar, hwndNavigation, and hwndHTML cannot be




More information about the wine-cvs mailing list