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
5cd9c3f6
Commit
5cd9c3f6
authored
Sep 09, 2005
by
Jacek Caban
Committed by
Alexandre Julliard
Sep 09, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make IQuickActivate interface heap based.
parent
4e8ec876
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
54 deletions
+44
-54
misc.c
dlls/shdocvw/misc.c
+38
-39
shdocvw.h
dlls/shdocvw/shdocvw.h
+3
-13
webbrowser.c
dlls/shdocvw/webbrowser.c
+3
-2
No files found.
dlls/shdocvw/misc.c
View file @
5cd9c3f6
/*
* Implementation of miscellaneous interfaces for
IE Web
Browser control:
* Implementation of miscellaneous interfaces for
Web
Browser control:
*
* - IQuickActivate
*
...
...
@@ -29,66 +29,65 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
* Implement the IQuickActivate interface
*/
static
HRESULT
WINAPI
WBQA_QueryInterface
(
LPQUICKACTIVATE
iface
,
REFIID
riid
,
LPVOID
*
ppobj
)
{
FIXME
(
"- no interface
\n\t
IID:
\t
%s
\n
"
,
debugstr_guid
(
riid
));
#define QUICKACT_THIS(iface) DEFINE_THIS(WebBrowser, QuickActivate, iface)
if
(
ppobj
==
NULL
)
return
E_POINTER
;
return
E_NOINTERFACE
;
static
HRESULT
WINAPI
QuickActivate_QueryInterface
(
IQuickActivate
*
iface
,
REFIID
riid
,
LPVOID
*
ppobj
)
{
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
return
IWebBrowser_QueryInterface
(
WEBBROWSER
(
This
),
riid
,
ppobj
);
}
static
ULONG
WINAPI
WBQA_AddRef
(
LPQUICKACTIVATE
iface
)
static
ULONG
WINAPI
QuickActivate_AddRef
(
IQuickActivate
*
iface
)
{
SHDOCVW_LockModule
();
return
2
;
/* non-heap based object */
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
return
IWebBrowser_AddRef
(
WEBBROWSER
(
This
));
}
static
ULONG
WINAPI
WBQA_Release
(
LPQUICKACTIVATE
iface
)
static
ULONG
WINAPI
QuickActivate_Release
(
IQuickActivate
*
iface
)
{
SHDOCVW_UnlockModule
();
return
1
;
/* non-heap based object */
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
return
IWebBrowser_Release
(
WEBBROWSER
(
This
));
}
/* Alternative interface for quicker, easier activation of a control. */
static
HRESULT
WINAPI
WBQA_QuickActivate
(
LPQUICKACTIVATE
iface
,
QACONTAINER
*
pQaContainer
,
QACONTROL
*
pQaControl
)
static
HRESULT
WINAPI
QuickActivate_QuickActivate
(
IQuickActivate
*
iface
,
QACONTAINER
*
pQaContainer
,
QACONTROL
*
pQaControl
)
{
FIXME
(
"stub: QACONTAINER = %p, QACONTROL = %p
\n
"
,
pQaContainer
,
pQaControl
);
return
S_OK
;
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pQaContainer
,
pQaControl
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
WBQA_SetContentExtent
(
LPQUICKACTIVATE
iface
,
LPSIZEL
pSizel
)
static
HRESULT
WINAPI
QuickActivate_SetContentExtent
(
IQuickActivate
*
iface
,
LPSIZEL
pSizel
)
{
FIXME
(
"stub: LPSIZEL = %p
\n
"
,
pSizel
);
return
E_NOINTERFACE
;
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pSizel
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
WBQA_GetContentExtent
(
LPQUICKACTIVATE
iface
,
LPSIZEL
pSizel
)
static
HRESULT
WINAPI
QuickActivate_GetContentExtent
(
IQuickActivate
*
iface
,
LPSIZEL
pSizel
)
{
FIXME
(
"stub: LPSIZEL = %p
\n
"
,
pSizel
);
return
E_NOINTERFACE
;
WebBrowser
*
This
=
QUICKACT_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pSizel
);
return
E_NOTIMPL
;
}
/**********************************************************************
* IQuickActivate virtual function table for IE Web Browser component
*/
#undef QUICKACT_THIS
static
const
IQuickActivateVtbl
WBQA_
Vtbl
=
static
const
IQuickActivateVtbl
QuickActivate
Vtbl
=
{
WBQA
_QueryInterface
,
WBQA
_AddRef
,
WBQA
_Release
,
WBQA
_QuickActivate
,
WBQA
_SetContentExtent
,
WBQA
_GetContentExtent
QuickActivate
_QueryInterface
,
QuickActivate
_AddRef
,
QuickActivate
_Release
,
QuickActivate
_QuickActivate
,
QuickActivate
_SetContentExtent
,
QuickActivate
_GetContentExtent
};
IQuickActivateImpl
SHDOCVW_QuickActivate
=
{
&
WBQA_Vtbl
};
void
WebBrowser_Misc_Init
(
WebBrowser
*
This
)
{
This
->
lpQuickActivateVtbl
=
&
QuickActivateVtbl
;
}
/**********************************************************************
* OpenURL (SHDOCVW.@)
...
...
dlls/shdocvw/shdocvw.h
View file @
5cd9c3f6
...
...
@@ -60,6 +60,7 @@ typedef struct {
const
IPersistStorageVtbl
*
lpPersistStorageVtbl
;
const
IPersistStreamInitVtbl
*
lpPersistStreamInitVtbl
;
const
IProvideClassInfo2Vtbl
*
lpProvideClassInfoVtbl
;
const
IQuickActivateVtbl
*
lpQuickActivateVtbl
;
LONG
ref
;
}
WebBrowser
;
...
...
@@ -71,27 +72,16 @@ typedef struct {
#define PERSTORAGE(x) ((IPersistStorage*) &(x)->lpPersistStorageVtbl)
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
#define CLASSINFO(x) ((IProvideClassInfo2*) &(x)->lpProvideClassInfoVtbl)
#define QUICKACT(x) ((IQuickActivate*) &(x)->lpQuickActivateVtbl)
void
WebBrowser_OleObject_Init
(
WebBrowser
*
);
void
WebBrowser_Persist_Init
(
WebBrowser
*
);
void
WebBrowser_ClassInfo_Init
(
WebBrowser
*
);
void
WebBrowser_Misc_Init
(
WebBrowser
*
);
HRESULT
WebBrowser_Create
(
IUnknown
*
,
REFIID
,
void
**
);
/**********************************************************************
* IQuickActivate declaration for SHDOCVW.DLL
*/
typedef
struct
{
/* IUnknown fields */
const
IQuickActivateVtbl
*
lpVtbl
;
LONG
ref
;
}
IQuickActivateImpl
;
extern
IQuickActivateImpl
SHDOCVW_QuickActivate
;
/**********************************************************************
* IConnectionPointContainer declaration for SHDOCVW.DLL
*/
typedef
struct
...
...
dlls/shdocvw/webbrowser.c
View file @
5cd9c3f6
...
...
@@ -75,8 +75,8 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser *iface, REFIID riid,
TRACE
(
"(%p)->(IID_IProvideClassInfo2 %p)
\n
"
,
This
,
ppv
);
*
ppv
=
CLASSINFO
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IQuickActivate
,
riid
))
{
FIXM
E
(
"(%p)->(IID_IQuickActivate %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
SHDOCVW_QuickActivate
;
TRAC
E
(
"(%p)->(IID_IQuickActivate %p)
\n
"
,
This
,
ppv
);
*
ppv
=
QUICKACT
(
This
)
;
}
else
if
(
IsEqualGUID
(
&
IID_IConnectionPointContainer
,
riid
))
{
FIXME
(
"(%p)->(IID_IConnectionPointContainer %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
SHDOCVW_ConnectionPointContainer
;
...
...
@@ -387,6 +387,7 @@ HRESULT WebBrowser_Create(IUnknown *pOuter, REFIID riid, void **ppv)
WebBrowser_OleObject_Init
(
ret
);
WebBrowser_Persist_Init
(
ret
);
WebBrowser_ClassInfo_Init
(
ret
);
WebBrowser_Misc_Init
(
ret
);
hres
=
IWebBrowser_QueryInterface
(
WEBBROWSER
(
ret
),
riid
,
ppv
);
if
(
SUCCEEDED
(
hres
))
{
...
...
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