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
bf1724ef
Commit
bf1724ef
authored
Jun 25, 2006
by
Jacek Caban
Committed by
Alexandre Julliard
Jun 26, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added Advise implementation.
parent
f46c3997
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
2 deletions
+42
-2
conpoint.c
dlls/mshtml/conpoint.c
+42
-2
No files found.
dlls/mshtml/conpoint.c
View file @
bf1724ef
...
...
@@ -40,6 +40,14 @@ struct ConnectionPoint {
const
IConnectionPointVtbl
*
lpConnectionPointVtbl
;
HTMLDocument
*
doc
;
union
{
IUnknown
*
unk
;
IDispatch
*
disp
;
IPropertyNotifySink
*
propnotif
;
}
*
sinks
;
DWORD
sinks_size
;
IID
iid
;
};
...
...
@@ -113,8 +121,38 @@ static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *
DWORD
*
pdwCookie
)
{
ConnectionPoint
*
This
=
CONPOINT_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pUnkSink
,
pdwCookie
);
return
E_NOTIMPL
;
IUnknown
*
sink
;
DWORD
i
;
HRESULT
hres
;
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
pUnkSink
,
pdwCookie
);
hres
=
IUnknown_QueryInterface
(
pUnkSink
,
&
This
->
iid
,
(
void
**
)
&
sink
);
if
(
FAILED
(
hres
)
&&
!
IsEqualGUID
(
&
IID_IPropertyNotifySink
,
&
This
->
iid
))
{
hres
=
IUnknown_QueryInterface
(
pUnkSink
,
&
IID_IDispatch
,
(
void
**
)
&
sink
);
if
(
FAILED
(
hres
))
return
CONNECT_E_CANNOTCONNECT
;
}
if
(
This
->
sinks
)
{
for
(
i
=
0
;
i
<
This
->
sinks_size
;
i
++
)
{
if
(
!
This
->
sinks
[
i
].
unk
)
break
;
}
if
(
i
==
This
->
sinks_size
)
This
->
sinks
=
HeapReAlloc
(
GetProcessHeap
(),
0
,
This
->
sinks
,
(
++
This
->
sinks_size
)
*
sizeof
(
*
This
->
sinks
));
}
else
{
This
->
sinks
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
This
->
sinks
));
This
->
sinks_size
=
1
;
i
=
0
;
}
This
->
sinks
[
i
].
unk
=
sink
;
*
pdwCookie
=
i
+
1
;
return
S_OK
;
}
static
HRESULT
WINAPI
ConnectionPoint_Unadvise
(
IConnectionPoint
*
iface
,
DWORD
dwCookie
)
...
...
@@ -152,6 +190,8 @@ static void ConnectionPoint_Create(HTMLDocument *doc, REFIID riid, ConnectionPoi
ret
->
lpConnectionPointVtbl
=
&
ConnectionPointVtbl
;
ret
->
doc
=
doc
;
ret
->
sinks
=
NULL
;
ret
->
sinks_size
=
0
;
memcpy
(
&
ret
->
iid
,
riid
,
sizeof
(
IID
));
*
cp
=
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