[PATCH 06/45] [WinHelp]: no longer store the WINHELP_WINDOW pointer in every window, but only in the main one (as we now have it present all cases)
Eric Pouech
eric.pouech at orange.fr
Sun Mar 23 04:17:42 CDT 2008
A+
---
programs/winhelp/winhelp.c | 17 ++++++-----------
1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c
index adc4e7a..a4cf342 100644
--- a/programs/winhelp/winhelp.c
+++ b/programs/winhelp/winhelp.c
@@ -301,16 +301,17 @@ static BOOL WINHELP_RegisterWinClasses(void)
class_main.lpszClassName = MAIN_WIN_CLASS_NAME;
class_button_box = class_main;
+ class_button_box.cbWndExtra = 0;
class_button_box.lpfnWndProc = WINHELP_ButtonBoxWndProc;
class_button_box.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
class_button_box.lpszClassName = BUTTON_BOX_WIN_CLASS_NAME;
- class_shadow = class_main;
+ class_shadow = class_main;
class_shadow.lpfnWndProc = WINHELP_ShadowWndProc;
class_shadow.hbrBackground = (HBRUSH)(COLOR_3DDKSHADOW+1);
class_shadow.lpszClassName = SHADOW_WIN_CLASS_NAME;
- class_history = class_main;
+ class_history = class_main;
class_history.lpfnWndProc = WINHELP_HistoryWndProc;
class_history.lpszClassName = HISTORY_WIN_CLASS_NAME;
@@ -453,7 +454,6 @@ static BOOL WINHELP_ReuseWindow(WINHELP_WINDOW* win, WINHELP_WINDOW* oldwin,
oldwin->hMainWnd = oldwin->hButtonBoxWnd = oldwin->hTextWnd = oldwin->hHistoryWnd = 0;
SetWindowLong(win->hMainWnd, 0, (LONG)win);
- SetWindowLong(win->hButtonBoxWnd, 0, (LONG)win);
SetWindowLong(win->hHistoryWnd, 0, (LONG)win);
WINHELP_InitFonts(win->hMainWnd);
@@ -620,11 +620,12 @@ BOOL WINHELP_CreateHelpWindow(HLPFILE_PAGE* page, HLPFILE_WINDOWINFO* wi,
/* Create button box and text Window */
if (!bPopup)
CreateWindow(BUTTON_BOX_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
- 0, 0, 0, 0, hWnd, (HMENU)CTL_ID_BUTTON, Globals.hInstance, win);
+ 0, 0, 0, 0, hWnd, (HMENU)CTL_ID_BUTTON, Globals.hInstance, NULL);
win->hTextWnd = CreateWindow(RICHEDIT_CLASS, NULL,
ES_MULTILINE | ES_READONLY | WS_CHILD | WS_HSCROLL | WS_VSCROLL | WS_VISIBLE,
0, 0, 0, 0, hWnd, (HMENU)CTL_ID_TEXT, Globals.hInstance, NULL);
+
WINHELP_LayoutMainWindow(win);
if (bPopup) Globals.hPopupWnd = hWnd;
@@ -785,15 +786,9 @@ static LRESULT CALLBACK WINHELP_ButtonBoxWndProc(HWND hWnd, UINT msg, WPARAM wPa
switch (msg)
{
- case WM_NCCREATE:
- win = (WINHELP_WINDOW*) ((LPCREATESTRUCT) lParam)->lpCreateParams;
- SetWindowLong(hWnd, 0, (LONG) win);
- win->hButtonBoxWnd = hWnd;
- break;
-
case WM_WINDOWPOSCHANGING:
winpos = (WINDOWPOS*) lParam;
- win = (WINHELP_WINDOW*) GetWindowLong(hWnd, 0);
+ win = (WINHELP_WINDOW*) GetWindowLong(GetParent(hWnd), 0);
/* Update buttons */
button_size.cx = 0;
More information about the wine-patches
mailing list