Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
1a2456cc
Commit
1a2456cc
authored
Feb 28, 2007
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 28, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hhctrl.ocx: Move more code from doWinMain.
parent
bf34ca2d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
27 deletions
+47
-27
chm.c
dlls/hhctrl.ocx/chm.c
+2
-2
help.c
dlls/hhctrl.ocx/help.c
+27
-24
hhctrl.h
dlls/hhctrl.ocx/hhctrl.h
+18
-1
No files found.
dlls/hhctrl.ocx/chm.c
View file @
1a2456cc
...
...
@@ -151,7 +151,7 @@ static BOOL ReadChmSystem(CHMInfo *chm)
* FIXME: There may be more than one window type in the file, so
* add the ability to choose a certain window type
*/
BOOL
CHM_
LoadWinTypeFromCHM
(
CHMInfo
*
pChmInfo
,
HH_WINTYPEW
*
pHHWinType
)
BOOL
LoadWinTypeFromCHM
(
CHMInfo
*
pChmInfo
,
HH_WINTYPEW
*
pHHWinType
)
{
LARGE_INTEGER
liOffset
;
IStorage
*
pStorage
=
pChmInfo
->
pStorage
;
...
...
@@ -209,7 +209,7 @@ CHMInfo *OpenCHM(LPCWSTR szFile)
CHMInfo
*
ret
=
hhctrl_alloc_zero
(
sizeof
(
CHMInfo
));
ret
->
szFile
=
s
zFile
;
ret
->
szFile
=
s
trdupW
(
szFile
)
;
hres
=
CoCreateInstance
(
&
CLSID_ITStorage
,
NULL
,
CLSCTX_INPROC_SERVER
,
&
IID_IITStorage
,
(
void
**
)
&
ret
->
pITStorage
)
;
...
...
dlls/hhctrl.ocx/help.c
View file @
1a2456cc
...
...
@@ -24,7 +24,6 @@
#include "commctrl.h"
#include "wininet.h"
#include "wine/unicode.h"
#include "wine/debug.h"
#include "resource.h"
...
...
@@ -737,7 +736,7 @@ static void HH_InitRequiredControls(DWORD dwControls)
}
/* Creates the whole package */
static
BOOL
HH_
CreateViewer
(
HHInfo
*
pHHInfo
)
static
BOOL
CreateViewer
(
HHInfo
*
pHHInfo
)
{
HH_CreateFont
(
pHHInfo
);
...
...
@@ -765,7 +764,7 @@ static BOOL HH_CreateViewer(HHInfo *pHHInfo)
return
TRUE
;
}
static
void
HH_Close
(
HHInfo
*
info
)
static
void
ReleaseHelpViewer
(
HHInfo
*
info
)
{
if
(
!
info
)
return
;
...
...
@@ -786,43 +785,49 @@ static void HH_Close(HHInfo *info)
CloseCHM
(
info
->
pCHMInfo
);
ReleaseWebBrowser
(
info
);
hhctrl_free
(
info
);
OleUninitialize
();
}
static
HHInfo
*
HH_OpenHH
(
LP
WSTR
filename
)
static
HHInfo
*
CreateHelpViewer
(
LPC
WSTR
filename
)
{
HHInfo
*
pHHInfo
=
hhctrl_alloc_zero
(
sizeof
(
HHInfo
));
HHInfo
*
info
=
hhctrl_alloc_zero
(
sizeof
(
HHInfo
));
OleInitialize
(
NULL
);
info
->
pCHMInfo
=
OpenCHM
(
filename
);
if
(
!
info
->
pCHMInfo
)
{
ReleaseHelpViewer
(
info
);
return
NULL
;
}
pHHInfo
->
pCHMInfo
=
OpenCHM
(
filename
);
if
(
!
pHHInfo
->
pCHMInfo
)
{
HH_Close
(
pHHInfo
);
if
(
!
LoadWinTypeFromCHM
(
info
->
pCHMInfo
,
&
info
->
WinType
))
{
ReleaseHelpViewer
(
info
);
return
NULL
;
}
if
(
!
CHM_LoadWinTypeFromCHM
(
pHHInfo
->
pCHMInfo
,
&
pHHInfo
->
WinType
))
{
HH_Close
(
pHHI
nfo
);
if
(
!
CreateViewer
(
info
))
{
ReleaseHelpViewer
(
i
nfo
);
return
NULL
;
}
return
pHHI
nfo
;
return
i
nfo
;
}
/* FIXME: Check szCmdLine for bad arguments */
int
WINAPI
doWinMain
(
HINSTANCE
hInstance
,
LPSTR
szCmdLine
)
{
MSG
msg
;
HHInfo
*
pHHInfo
;
HHInfo
*
info
;
LPWSTR
filename
=
strdupAtoW
(
szCmdLine
);
if
(
FAILED
(
OleInitialize
(
NULL
)))
info
=
CreateHelpViewer
(
filename
);
hhctrl_free
(
filename
);
if
(
!
info
)
return
-
1
;
pHHInfo
=
HH_OpenHH
(
strdupAtoW
(
szCmdLine
));
if
(
!
pHHInfo
||
!
HH_CreateViewer
(
pHHInfo
))
{
OleUninitialize
();
return
-
1
;
}
NavigateToChm
(
pHHInfo
,
pHHInfo
->
pCHMInfo
->
szFile
,
pHHInfo
->
WinType
.
pszFile
);
NavigateToChm
(
info
,
info
->
pCHMInfo
->
szFile
,
info
->
WinType
.
pszFile
);
while
(
GetMessageW
(
&
msg
,
0
,
0
,
0
))
{
...
...
@@ -830,9 +835,7 @@ int WINAPI doWinMain(HINSTANCE hInstance, LPSTR szCmdLine)
DispatchMessageW
(
&
msg
);
}
HH_Close
(
pHHInfo
);
hhctrl_free
(
pHHInfo
);
OleUninitialize
();
ReleaseHelpViewer
(
info
);
return
0
;
}
dlls/hhctrl.ocx/hhctrl.h
View file @
1a2456cc
/*
* Copyright 2005 James Hawkins
* Copyright 2007 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -37,6 +38,7 @@
#endif
#include "wine/itss.h"
#include "wine/unicode.h"
#define WB_GOBACK 0
#define WB_GOFORWARD 1
...
...
@@ -75,7 +77,7 @@ void ResizeWebBrowser(HHInfo*,DWORD,DWORD);
void
DoPageAction
(
HHInfo
*
,
DWORD
);
CHMInfo
*
OpenCHM
(
LPCWSTR
szFile
);
BOOL
CHM_
LoadWinTypeFromCHM
(
CHMInfo
*
pCHMInfo
,
HH_WINTYPEW
*
pHHWinType
);
BOOL
LoadWinTypeFromCHM
(
CHMInfo
*
pCHMInfo
,
HH_WINTYPEW
*
pHHWinType
);
CHMInfo
*
CloseCHM
(
CHMInfo
*
pCHMInfo
);
/* memory allocation functions */
...
...
@@ -105,6 +107,21 @@ static inline BOOL hhctrl_free(void *mem)
return
HeapFree
(
GetProcessHeap
(),
0
,
mem
);
}
static
inline
LPWSTR
strdupW
(
LPCWSTR
str
)
{
LPWSTR
ret
;
int
size
;
if
(
!
str
)
return
NULL
;
size
=
(
strlenW
(
str
)
+
1
)
*
sizeof
(
WCHAR
);
ret
=
hhctrl_alloc
(
size
);
memcpy
(
ret
,
str
,
size
);
return
ret
;
}
static
inline
LPWSTR
strdupAtoW
(
LPCSTR
str
)
{
LPWSTR
ret
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment