Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
ef4200fc
Commit
ef4200fc
authored
Apr 29, 2008
by
Jacek Caban
Committed by
Alexandre Julliard
Apr 29, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added support for custom DISPIDs.
parent
96fdb0e7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
32 additions
and
1 deletion
+32
-1
dispex.c
dlls/mshtml/dispex.c
+16
-0
htmldoc.c
dlls/mshtml/htmldoc.c
+1
-0
htmlelem.c
dlls/mshtml/htmlelem.c
+2
-0
htmltextnode.c
dlls/mshtml/htmltextnode.c
+1
-0
htmlwindow.c
dlls/mshtml/htmlwindow.c
+1
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+10
-1
omnavigator.c
dlls/mshtml/omnavigator.c
+1
-0
No files found.
dlls/mshtml/dispex.c
View file @
ef4200fc
...
...
@@ -277,6 +277,11 @@ void call_disp_func(HTMLDocument *doc, IDispatch *disp)
VariantClear
(
&
res
);
}
static
inline
BOOL
is_custom_dispid
(
DISPID
id
)
{
return
MSHTML_DISPID_CUSTOM_MIN
<=
id
&&
id
<=
MSHTML_DISPID_CUSTOM_MAX
;
}
#define DISPATCHEX_THIS(iface) DEFINE_THIS(DispatchEx, IDispatchEx, iface)
static
HRESULT
WINAPI
DispatchEx_QueryInterface
(
IDispatchEx
*
iface
,
REFIID
riid
,
void
**
ppv
)
...
...
@@ -395,6 +400,14 @@ static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DW
min
=
n
+
1
;
}
if
(
This
->
data
->
vtbl
&&
This
->
data
->
vtbl
->
get_dispid
)
{
HRESULT
hres
;
hres
=
This
->
data
->
vtbl
->
get_dispid
(
This
->
outer
,
bstrName
,
grfdex
,
pid
);
if
(
hres
!=
DISP_E_UNKNOWNNAME
)
return
hres
;
}
TRACE
(
"not found %s
\n
"
,
debugstr_w
(
bstrName
));
return
DISP_E_UNKNOWNNAME
;
}
...
...
@@ -412,6 +425,9 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
TRACE
(
"(%p)->(%x %x %x %p %p %p %p)
\n
"
,
This
,
id
,
lcid
,
wFlags
,
pdp
,
pvarRes
,
pei
,
pspCaller
);
if
(
is_custom_dispid
(
id
)
&&
This
->
data
->
vtbl
&&
This
->
data
->
vtbl
->
invoke
)
return
This
->
data
->
vtbl
->
invoke
(
This
->
outer
,
id
,
lcid
,
wFlags
,
pdp
,
pvarRes
,
pei
,
pspCaller
);
if
(
wFlags
==
DISPATCH_CONSTRUCT
)
{
FIXME
(
"DISPATCH_CONSTRUCT not implemented
\n
"
);
return
E_NOTIMPL
;
...
...
dlls/mshtml/htmldoc.c
View file @
ef4200fc
...
...
@@ -1491,6 +1491,7 @@ static const IDispatchExVtbl DocDispatchExVtbl = {
};
static
dispex_static_data_t
HTMLDocument_dispex
=
{
NULL
,
DispHTMLDocument_tid
,
NULL
,
{
...
...
dlls/mshtml/htmlelem.c
View file @
ef4200fc
...
...
@@ -1283,6 +1283,7 @@ static const NodeImplVtbl HTMLElementImplVtbl = {
};
static
dispex_static_data_t
HTMLElement_dispex
=
{
NULL
,
DispHTMLUnknownElement_tid
,
NULL
,
{
...
...
@@ -1669,6 +1670,7 @@ static const IHTMLElementCollectionVtbl HTMLElementCollectionVtbl = {
};
static
dispex_static_data_t
HTMLElementCollection_dispex
=
{
NULL
,
DispHTMLElementCollection_tid
,
NULL
,
{
...
...
dlls/mshtml/htmltextnode.c
View file @
ef4200fc
...
...
@@ -186,6 +186,7 @@ static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = {
};
static
dispex_static_data_t
HTMLDOMTextNode_dispex
=
{
NULL
,
DispHTMLDOMTextNode_tid
,
0
,
{
...
...
dlls/mshtml/htmlwindow.c
View file @
ef4200fc
...
...
@@ -1108,6 +1108,7 @@ static const IDispatchExVtbl WindowDispExVtbl = {
};
static
dispex_static_data_t
HTMLWindow_dispex
=
{
NULL
,
DispHTMLWindow2_tid
,
NULL
,
{
...
...
dlls/mshtml/mshtml_private.h
View file @
ef4200fc
/*
* Copyright 2005-200
6
Jacek Caban for CodeWeavers
* Copyright 2005-200
8
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
...
...
@@ -84,7 +84,16 @@ typedef enum {
typedef
struct
dispex_data_t
dispex_data_t
;
#define MSHTML_DISPID_CUSTOM_MIN 0x60000000
#define MSHTML_DISPID_CUSTOM_MAX 0x6fffffff
typedef
struct
{
HRESULT
(
*
get_dispid
)(
IUnknown
*
,
BSTR
,
DWORD
,
DISPID
*
);
HRESULT
(
*
invoke
)(
IUnknown
*
,
DISPID
,
LCID
,
WORD
,
DISPPARAMS
*
,
VARIANT
*
,
EXCEPINFO
*
,
IServiceProvider
*
);
}
dispex_static_data_vtbl_t
;
typedef
struct
{
const
dispex_static_data_vtbl_t
*
vtbl
;
const
tid_t
disp_tid
;
dispex_data_t
*
data
;
const
tid_t
iface_tids
[];
...
...
dlls/mshtml/omnavigator.c
View file @
ef4200fc
...
...
@@ -301,6 +301,7 @@ static const IOmNavigatorVtbl OmNavigatorVtbl = {
};
static
dispex_static_data_t
OmNavigator_dispex
=
{
NULL
,
IOmNavigator_tid
,
NULL
,
{
...
...
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