Module: wine Branch: master Commit: 8ecd3465d9ee23d1be04ea3ce5d010f51500df90 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ecd3465d9ee23d1be04ea3ce5...
Author: Andrey Turkin andrey.turkin@gmail.com Date: Wed May 2 20:16:59 2007 +0400
hhctrl.ocx: Recognize and use topic specification in url or in data.
---
dlls/hhctrl.ocx/hhctrl.c | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/dlls/hhctrl.ocx/hhctrl.c b/dlls/hhctrl.ocx/hhctrl.c index 958edf9..b687a83 100644 --- a/dlls/hhctrl.ocx/hhctrl.c +++ b/dlls/hhctrl.ocx/hhctrl.c @@ -100,16 +100,34 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat case HH_DISPLAY_TOPIC: case HH_DISPLAY_TOC: case HH_DISPLAY_SEARCH:{ + static const WCHAR delimW[] = {':',':',0}; HHInfo *info; BOOL res; + WCHAR chm_file[MAX_PATH]; + const WCHAR *index;
FIXME("Not all HH cases handled correctly\n");
+ index = strstrW(filename, delimW); + if (index) + { + memcpy(chm_file, filename, (index-filename)*sizeof(WCHAR)); + chm_file[index-filename] = 0; + filename = chm_file; + } + else + { + if (command!=HH_DISPLAY_SEARCH) /* FIXME - use HH_FTS_QUERYW structure in data */ + index = (const WCHAR*)data; + } + info = CreateHelpViewer(filename);
if (info) { - res = NavigateToChm(info, info->pCHMInfo->szFile, info->WinType.pszFile); + if (!index) + index = info->WinType.pszFile; + res = NavigateToChm(info, info->pCHMInfo->szFile, index); if(!res) ReleaseHelpViewer(info); }