Eric Pouech : winhlp32: Added support for macros as hotspots' target.

Alexandre Julliard julliard at winehq.org
Mon Nov 9 15:14:18 CST 2009


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

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sun Nov  8 15:04:59 2009 +0100

winhlp32: Added support for macros as hotspots' target.

---

 programs/winhlp32/hlpfile.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/programs/winhlp32/hlpfile.c b/programs/winhlp32/hlpfile.c
index f6c1137..2d685ae 100644
--- a/programs/winhlp32/hlpfile.c
+++ b/programs/winhlp32/hlpfile.c
@@ -797,29 +797,35 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file,
          */
         str += strlen(str) + 1;     /* skip hotspot name */
 
+        hslink = NULL;
         switch (start[7 + 15 * i + 0])
         /* The next two chars always look like 0x04 0x00 ???
          * What are they for ?
          */
         {
+        case 0xC8:
+            hslink = (HLPFILE_HOTSPOTLINK*)
+                HLPFILE_AllocLink(rd, hlp_link_macro, str, -1, 0, 0, 1, -1);
+            break;
+
         case 0xE6:
         case 0xE7:
             hslink = (HLPFILE_HOTSPOTLINK*)
                 HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup,
                                   file->lpszPath, -1, HLPFILE_Hash(str),
                                   0, 1, -1);
-            if (hslink)
-            {
-                hslink->x      = GET_USHORT(start, 7 + 15 * i + 3);
-                hslink->y      = GET_USHORT(start, 7 + 15 * i + 5);
-                hslink->width  = GET_USHORT(start, 7 + 15 * i + 7);
-                hslink->height = GET_USHORT(start, 7 + 15 * i + 9);
-                /* target = GET_UINT(start, 7 + 15 * i + 11); */
-            }
             break;
         default:
             WINE_FIXME("unknown hotsport target 0x%x\n", start[7 + 15 * i + 0]);
         }
+        if (hslink)
+        {
+            hslink->x      = GET_USHORT(start, 7 + 15 * i + 3);
+            hslink->y      = GET_USHORT(start, 7 + 15 * i + 5);
+            hslink->width  = GET_USHORT(start, 7 + 15 * i + 7);
+            hslink->height = GET_USHORT(start, 7 + 15 * i + 9);
+            /* target = GET_UINT(start, 7 + 15 * i + 11); */
+        }
         str += strlen(str) + 1;
     }
 }




More information about the wine-cvs mailing list