Jacek Caban : hhctrl.ocx: Don't use doWinMain in HtmlHelpW.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Feb 28 08:19:11 CST 2007


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Feb 28 03:53:37 2007 +0100

hhctrl.ocx: Don't use doWinMain in HtmlHelpW.

---

 dlls/hhctrl.ocx/hhctrl.c |   39 +++++++++++++++++++--------------------
 1 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/dlls/hhctrl.ocx/hhctrl.c b/dlls/hhctrl.ocx/hhctrl.c
index 031c997..0ab13bd 100644
--- a/dlls/hhctrl.ocx/hhctrl.c
+++ b/dlls/hhctrl.ocx/hhctrl.c
@@ -25,8 +25,6 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(htmlhelp);
 
-int WINAPI doWinMain(HINSTANCE hInstance, LPSTR szCmdLine);
-
 HINSTANCE hhctrl_hinstance;
 
 BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, LPVOID lpvReserved)
@@ -87,33 +85,34 @@ static const char *command_to_string(UINT command)
 
 HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD data)
 {
-    CHAR *file = NULL;
 
     TRACE("(%p, %s, command=%s, data=%d)\n",
           caller, debugstr_w( filename ),
           command_to_string( command ), data);
 
-    if (filename)
+    switch (command)
     {
-        DWORD len = WideCharToMultiByte( CP_ACP, 0, filename, -1, NULL, 0, NULL, NULL );
+    case HH_DISPLAY_TOPIC:
+    case HH_DISPLAY_TOC:
+    case HH_DISPLAY_SEARCH:
+    case HH_HELP_CONTEXT: {
+        HHInfo *info;
+        BOOL res;
 
-        file = hhctrl_alloc(len);
-        WideCharToMultiByte( CP_ACP, 0, filename, -1, file, len, NULL, NULL );
-    }
+        FIXME("Not all HH cases handled correctly\n");
 
-    switch (command)
-    {
-        case HH_DISPLAY_TOPIC:
-        case HH_DISPLAY_TOC:
-        case HH_DISPLAY_SEARCH:
-        case HH_HELP_CONTEXT:
-            FIXME("Not all HH cases handled correctly\n");
-            doWinMain(GetModuleHandleW(NULL), file);
-            break;
-        default:
-            FIXME("HH case %s not handled.\n", command_to_string( command ));
+        info = CreateHelpViewer(filename);
+
+        res = NavigateToChm(info, info->pCHMInfo->szFile, info->WinType.pszFile);
+        if(!res)
+            ReleaseHelpViewer(info);
+
+        return NULL; /* FIXME */
     }
-    hhctrl_free(file);
+    default:
+        FIXME("HH case %s not handled.\n", command_to_string( command ));
+    }
+
     return 0;
 }
 




More information about the wine-cvs mailing list