Commit 2686b9b5 authored by Erich Hoover's avatar Erich Hoover Committed by Alexandre Julliard

hhctrl.ocx: Permit WS_CHILD help windows.

parent 97bcef99
...@@ -1585,7 +1585,7 @@ static LRESULT CALLBACK Help_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPA ...@@ -1585,7 +1585,7 @@ static LRESULT CALLBACK Help_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPA
static BOOL HH_CreateHelpWindow(HHInfo *info) static BOOL HH_CreateHelpWindow(HHInfo *info)
{ {
HWND hWnd; HWND hWnd, parent = 0;
RECT winPos = info->WinType.rcWindowPos; RECT winPos = info->WinType.rcWindowPos;
WNDCLASSEXW wcex; WNDCLASSEXW wcex;
DWORD dwStyles, dwExStyles; DWORD dwStyles, dwExStyles;
...@@ -1613,7 +1613,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info) ...@@ -1613,7 +1613,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info)
/* Read in window parameters if available */ /* Read in window parameters if available */
if (info->WinType.fsValidMembers & HHWIN_PARAM_STYLES) if (info->WinType.fsValidMembers & HHWIN_PARAM_STYLES)
dwStyles = info->WinType.dwStyles | WS_OVERLAPPEDWINDOW; {
dwStyles = info->WinType.dwStyles;
if (!(info->WinType.dwStyles & WS_CHILD))
dwStyles |= WS_OVERLAPPEDWINDOW;
}
else else
dwStyles = WS_OVERLAPPEDWINDOW | WS_VISIBLE | dwStyles = WS_OVERLAPPEDWINDOW | WS_VISIBLE |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN; WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
...@@ -1655,8 +1659,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info) ...@@ -1655,8 +1659,11 @@ static BOOL HH_CreateHelpWindow(HHInfo *info)
caption = info->WinType.pszCaption; caption = info->WinType.pszCaption;
if (!*caption) caption = info->pCHMInfo->defTitle; if (!*caption) caption = info->pCHMInfo->defTitle;
if (info->WinType.dwStyles & WS_CHILD)
parent = info->WinType.hwndCaller;
hWnd = CreateWindowExW(dwExStyles, windowClassW, caption, hWnd = CreateWindowExW(dwExStyles, windowClassW, caption,
dwStyles, x, y, width, height, NULL, NULL, hhctrl_hinstance, NULL); dwStyles, x, y, width, height, parent, NULL, hhctrl_hinstance, NULL);
if (!hWnd) if (!hWnd)
return FALSE; return FALSE;
...@@ -1773,7 +1780,7 @@ void ReleaseHelpViewer(HHInfo *info) ...@@ -1773,7 +1780,7 @@ void ReleaseHelpViewer(HHInfo *info)
OleUninitialize(); OleUninitialize();
} }
HHInfo *CreateHelpViewer(LPCWSTR filename) HHInfo *CreateHelpViewer(LPCWSTR filename, HWND caller)
{ {
HHInfo *info = heap_alloc_zero(sizeof(HHInfo)); HHInfo *info = heap_alloc_zero(sizeof(HHInfo));
int i; int i;
...@@ -1796,6 +1803,7 @@ HHInfo *CreateHelpViewer(LPCWSTR filename) ...@@ -1796,6 +1803,7 @@ HHInfo *CreateHelpViewer(LPCWSTR filename)
ReleaseHelpViewer(info); ReleaseHelpViewer(info);
return NULL; return NULL;
} }
info->WinType.hwndCaller = caller;
if(!CreateViewer(info)) { if(!CreateViewer(info)) {
ReleaseHelpViewer(info); ReleaseHelpViewer(info);
......
...@@ -181,7 +181,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat ...@@ -181,7 +181,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
} }
index = default_index; index = default_index;
info = CreateHelpViewer(fullname); info = CreateHelpViewer(fullname, caller);
if(!info) if(!info)
{ {
heap_free(default_index); heap_free(default_index);
...@@ -253,7 +253,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat ...@@ -253,7 +253,7 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
return 0; return 0;
} }
info = CreateHelpViewer(fullname); info = CreateHelpViewer(fullname, caller);
if(!info) if(!info)
return NULL; return NULL;
......
...@@ -194,7 +194,7 @@ IStream *GetChmStream(CHMInfo*,LPCWSTR,ChmPath*) DECLSPEC_HIDDEN; ...@@ -194,7 +194,7 @@ IStream *GetChmStream(CHMInfo*,LPCWSTR,ChmPath*) DECLSPEC_HIDDEN;
LPWSTR FindContextAlias(CHMInfo*,DWORD) DECLSPEC_HIDDEN; LPWSTR FindContextAlias(CHMInfo*,DWORD) DECLSPEC_HIDDEN;
WCHAR *GetDocumentTitle(CHMInfo*,LPCWSTR) DECLSPEC_HIDDEN; WCHAR *GetDocumentTitle(CHMInfo*,LPCWSTR) DECLSPEC_HIDDEN;
HHInfo *CreateHelpViewer(LPCWSTR) DECLSPEC_HIDDEN; HHInfo *CreateHelpViewer(LPCWSTR,HWND) DECLSPEC_HIDDEN;
void ReleaseHelpViewer(HHInfo*) DECLSPEC_HIDDEN; void ReleaseHelpViewer(HHInfo*) DECLSPEC_HIDDEN;
BOOL NavigateToUrl(HHInfo*,LPCWSTR) DECLSPEC_HIDDEN; BOOL NavigateToUrl(HHInfo*,LPCWSTR) DECLSPEC_HIDDEN;
BOOL NavigateToChm(HHInfo*,LPCWSTR,LPCWSTR) DECLSPEC_HIDDEN; BOOL NavigateToChm(HHInfo*,LPCWSTR,LPCWSTR) DECLSPEC_HIDDEN;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment