Commit 3acf62f5 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

winhelp: Added support for hotspot in images with target window embedded.

parent 8703e9c5
...@@ -815,6 +815,34 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file, ...@@ -815,6 +815,34 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file,
file->lpszPath, -1, HLPFILE_Hash(str), file->lpszPath, -1, HLPFILE_Hash(str),
0, 1, -1); 0, 1, -1);
break; break;
case 0xEE:
case 0xEF:
{
const char* win = strchr(str, '>');
int wnd = -1;
char* tgt = NULL;
if (win)
{
for (wnd = file->numWindows - 1; wnd >= 0; wnd--)
{
if (!strcmp(win + 1, file->windows[wnd].name)) break;
}
if (wnd == -1)
WINE_WARN("Couldn't find window info for %s\n", win);
if ((tgt = HeapAlloc(GetProcessHeap(), 0, win - str + 1)))
{
memcpy(tgt, str, win - str);
tgt[win - str] = '\0';
}
}
hslink = (HLPFILE_HOTSPOTLINK*)
HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup,
file->lpszPath, -1, HLPFILE_Hash(tgt ? tgt : str), 0, 1, wnd);
HeapFree(GetProcessHeap(), 0, tgt);
break;
}
default: default:
WINE_FIXME("unknown hotsport target 0x%x\n", start[7 + 15 * i + 0]); WINE_FIXME("unknown hotsport target 0x%x\n", start[7 + 15 * i + 0]);
} }
......
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