Eric Pouech : winhlp32: Make use of the hlpfile for the running macro to handle correctly some macro implementations .

Alexandre Julliard julliard at winehq.org
Mon Jun 1 10:01:02 CDT 2009


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

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sat May 30 14:26:39 2009 +0200

winhlp32: Make use of the hlpfile for the running macro to handle correctly some macro implementations.

---

 programs/winhlp32/macro.c |   48 +++++++++++++++++++++++++-------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/programs/winhlp32/macro.c b/programs/winhlp32/macro.c
index 92a1abd..c2318ce 100644
--- a/programs/winhlp32/macro.c
+++ b/programs/winhlp32/macro.c
@@ -68,7 +68,7 @@ static WINHELP_BUTTON**        MACRO_LookupButton(WINHELP_WINDOW* win, LPCSTR na
 
 void CALLBACK MACRO_CreateButton(LPCSTR id, LPCSTR name, LPCSTR macro)
 {
-    WINHELP_WINDOW *win = Globals.active_win;
+    WINHELP_WINDOW *win = MACRO_CurrentWindow();
     WINHELP_BUTTON *button, **b;
     LONG            size;
     LPSTR           ptr;
@@ -115,7 +115,7 @@ void CALLBACK MACRO_DisableButton(LPCSTR id)
 
     WINE_TRACE("(\"%s\")\n", id);
 
-    b = MACRO_LookupButton(Globals.active_win, id);
+    b = MACRO_LookupButton(MACRO_CurrentWindow(), id);
     if (!*b) {WINE_FIXME("Couldn't find button '%s'\n", id); return;}
 
     EnableWindow((*b)->hWnd, FALSE);
@@ -127,7 +127,7 @@ static void CALLBACK MACRO_EnableButton(LPCSTR id)
 
     WINE_TRACE("(\"%s\")\n", id);
 
-    b = MACRO_LookupButton(Globals.active_win, id);
+    b = MACRO_LookupButton(MACRO_CurrentWindow(), id);
     if (!*b) {WINE_FIXME("Couldn't find button '%s'\n", id); return;}
 
     EnableWindow((*b)->hWnd, TRUE);
@@ -172,7 +172,7 @@ static void CALLBACK MACRO_AppendItem(LPCSTR str1, LPCSTR str2, LPCSTR str3, LPC
 
 static void CALLBACK MACRO_Back(void)
 {
-    WINHELP_WINDOW* win = Globals.active_win;
+    WINHELP_WINDOW* win = MACRO_CurrentWindow();
 
     WINE_TRACE("()\n");
 
@@ -182,7 +182,7 @@ static void CALLBACK MACRO_Back(void)
 
 static void CALLBACK MACRO_BackFlush(void)
 {
-    WINHELP_WINDOW* win = Globals.active_win;
+    WINHELP_WINDOW* win = MACRO_CurrentWindow();
 
     WINE_TRACE("()\n");
 
@@ -201,7 +201,7 @@ static void CALLBACK MACRO_BookmarkMore(void)
 
 static void CALLBACK MACRO_BrowseButtons(void)
 {
-    HLPFILE_PAGE*       page = Globals.active_win->page;
+    HLPFILE_PAGE*       page = MACRO_CurrentWindow()->page;
     ULONG               relative;
 
     WINE_TRACE("()\n");
@@ -217,7 +217,7 @@ static void CALLBACK MACRO_BrowseButtons(void)
 
 static void CALLBACK MACRO_ChangeButtonBinding(LPCSTR id, LPCSTR macro)
 {
-    WINHELP_WINDOW*     win = Globals.active_win;
+    WINHELP_WINDOW*     win = MACRO_CurrentWindow();
     WINHELP_BUTTON*     button;
     WINHELP_BUTTON**    b;
     LONG                size;
@@ -304,10 +304,12 @@ static void CALLBACK MACRO_Compare(LPCSTR str)
 
 static void CALLBACK MACRO_Contents(void)
 {
+    HLPFILE_PAGE*       page = MACRO_CurrentWindow()->page;
+
     WINE_TRACE("()\n");
 
-    if (Globals.active_win->page)
-        MACRO_JumpContents(Globals.active_win->page->file->lpszPath, NULL);
+    if (page)
+        MACRO_JumpContents(page->file->lpszPath, NULL);
 }
 
 static void CALLBACK MACRO_ControlPanel(LPCSTR str1, LPCSTR str2, LONG u)
@@ -447,7 +449,7 @@ void CALLBACK MACRO_HelpOn(void)
     LPCSTR      file;
 
     WINE_TRACE("()\n");
-    file = Globals.active_win->page->file->help_on_file;
+    file = MACRO_CurrentWindow()->page->file->help_on_file;
     if (!file)
         file = (Globals.wVersion > 4) ? "winhlp32.hlp" : "winhelp.hlp";
 
@@ -600,12 +602,12 @@ static void CALLBACK MACRO_Next(void)
     WINHELP_WNDPAGE     wp;
 
     WINE_TRACE("()\n");
-    wp.page = Globals.active_win->page;
+    wp.page = MACRO_CurrentWindow()->page;
     wp.page = HLPFILE_PageByOffset(wp.page->file, wp.page->browse_fwd, &wp.relative);
     if (wp.page)
     {
         wp.page->file->wRefCount++;
-        wp.wininfo = Globals.active_win->info;
+        wp.wininfo = MACRO_CurrentWindow()->info;
         WINHELP_CreateHelpWindow(&wp, SW_NORMAL, TRUE);
     }
 }
@@ -640,12 +642,12 @@ static void CALLBACK MACRO_Prev(void)
     WINHELP_WNDPAGE     wp;
 
     WINE_TRACE("()\n");
-    wp.page = Globals.active_win->page;
+    wp.page = MACRO_CurrentWindow()->page;
     wp.page = HLPFILE_PageByOffset(wp.page->file, wp.page->browse_bwd, &wp.relative);
     if (wp.page)
     {
         wp.page->file->wRefCount++;
-        wp.wininfo = Globals.active_win->info;
+        wp.wininfo = MACRO_CurrentWindow()->info;
         WINHELP_CreateHelpWindow(&wp, SW_NORMAL, TRUE);
     }
 }
@@ -657,7 +659,7 @@ void CALLBACK MACRO_Print(void)
     WINE_TRACE("()\n");
 
     printer.lStructSize         = sizeof(printer);
-    printer.hwndOwner           = Globals.active_win->hMainWnd;
+    printer.hwndOwner           = MACRO_CurrentWindow()->hMainWnd;
     printer.hInstance           = Globals.hInstance;
     printer.hDevMode            = 0;
     printer.hDevNames           = 0;
@@ -775,19 +777,23 @@ void CALLBACK MACRO_SetContents(LPCSTR str, LONG u)
 
 static void CALLBACK MACRO_SetHelpOnFile(LPCSTR str)
 {
+    HLPFILE_PAGE*       page = MACRO_CurrentWindow()->page;
+
     WINE_TRACE("(\"%s\")\n", str);
 
-    HeapFree(GetProcessHeap(), 0, Globals.active_win->page->file->help_on_file);
-    Globals.active_win->page->file->help_on_file = HeapAlloc(GetProcessHeap(), 0, strlen(str) + 1);
-    if (Globals.active_win->page->file->help_on_file)
-        strcpy(Globals.active_win->page->file->help_on_file, str);
+    HeapFree(GetProcessHeap(), 0, page->file->help_on_file);
+    page->file->help_on_file = HeapAlloc(GetProcessHeap(), 0, strlen(str) + 1);
+    if (page->file->help_on_file)
+        strcpy(page->file->help_on_file, str);
 }
 
 static void CALLBACK MACRO_SetPopupColor(LONG r, LONG g, LONG b)
 {
+    HLPFILE_PAGE*       page = MACRO_CurrentWindow()->page;
+
     WINE_TRACE("(%x, %x, %x)\n", r, g, b);
-    Globals.active_win->page->file->has_popup_color = TRUE;
-    Globals.active_win->page->file->popup_color = RGB(r, g, b);
+    page->file->has_popup_color = TRUE;
+    page->file->popup_color = RGB(r, g, b);
 }
 
 static void CALLBACK MACRO_ShellExecute(LPCSTR str1, LPCSTR str2, LONG u1, LONG u2, LPCSTR str3, LPCSTR str4)




More information about the wine-cvs mailing list