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
744acc1d
Commit
744acc1d
authored
Apr 16, 2012
by
Detlef Riekenberg
Committed by
Alexandre Julliard
Apr 19, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
browseui: Add IOleWindow to IProgressDialog.
parent
9d68333f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
2 deletions
+64
-2
progressdlg.c
dlls/browseui/progressdlg.c
+64
-2
No files found.
dlls/browseui/progressdlg.c
View file @
744acc1d
...
...
@@ -60,6 +60,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(browseui);
typedef
struct
tagProgressDialog
{
IProgressDialog
IProgressDialog_iface
;
IOleWindow
IOleWindow_iface
;
LONG
refCount
;
CRITICAL_SECTION
cs
;
HWND
hwnd
;
...
...
@@ -79,6 +80,11 @@ static inline ProgressDialog *impl_from_IProgressDialog(IProgressDialog *iface)
return
CONTAINING_RECORD
(
iface
,
ProgressDialog
,
IProgressDialog_iface
);
}
static
inline
ProgressDialog
*
impl_from_IOleWindow
(
IOleWindow
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
ProgressDialog
,
IOleWindow_iface
);
}
static
void
set_buffer
(
LPWSTR
*
buffer
,
LPCWSTR
string
)
{
static
const
WCHAR
empty_string
[]
=
{
0
};
...
...
@@ -268,11 +274,19 @@ static void ProgressDialog_Destructor(ProgressDialog *This)
static
HRESULT
WINAPI
ProgressDialog_QueryInterface
(
IProgressDialog
*
iface
,
REFIID
iid
,
LPVOID
*
ppvOut
)
{
ProgressDialog
*
This
=
impl_from_IProgressDialog
(
iface
);
*
ppvOut
=
NULL
;
TRACE
(
"(%p, %s, %p)
\n
"
,
iface
,
debugstr_guid
(
iid
),
ppvOut
);
if
(
!
ppvOut
)
return
E_POINTER
;
*
ppvOut
=
NULL
;
if
(
IsEqualIID
(
iid
,
&
IID_IUnknown
)
||
IsEqualIID
(
iid
,
&
IID_IProgressDialog
))
{
*
ppvOut
=
This
;
*
ppvOut
=
iface
;
}
else
if
(
IsEqualIID
(
iid
,
&
IID_IOleWindow
))
{
*
ppvOut
=
&
This
->
IOleWindow_iface
;
}
if
(
*
ppvOut
)
...
...
@@ -495,6 +509,53 @@ static const IProgressDialogVtbl ProgressDialogVtbl =
ProgressDialog_Timer
};
static
HRESULT
WINAPI
OleWindow_QueryInterface
(
IOleWindow
*
iface
,
REFIID
iid
,
LPVOID
*
ppvOut
)
{
ProgressDialog
*
This
=
impl_from_IOleWindow
(
iface
);
return
ProgressDialog_QueryInterface
(
&
This
->
IProgressDialog_iface
,
iid
,
ppvOut
);
}
static
ULONG
WINAPI
OleWindow_AddRef
(
IOleWindow
*
iface
)
{
ProgressDialog
*
This
=
impl_from_IOleWindow
(
iface
);
return
ProgressDialog_AddRef
(
&
This
->
IProgressDialog_iface
);
}
static
ULONG
WINAPI
OleWindow_Release
(
IOleWindow
*
iface
)
{
ProgressDialog
*
This
=
impl_from_IOleWindow
(
iface
);
return
ProgressDialog_Release
(
&
This
->
IProgressDialog_iface
);
}
static
HRESULT
WINAPI
OleWindow_GetWindow
(
IOleWindow
*
iface
,
HWND
*
phwnd
)
{
ProgressDialog
*
This
=
impl_from_IOleWindow
(
iface
);
TRACE
(
"(%p, %p)
\n
"
,
This
,
phwnd
);
EnterCriticalSection
(
&
This
->
cs
);
*
phwnd
=
This
->
hwnd
;
LeaveCriticalSection
(
&
This
->
cs
);
return
S_OK
;
}
static
HRESULT
WINAPI
OleWindow_ContextSensitiveHelp
(
IOleWindow
*
iface
,
BOOL
fEnterMode
)
{
ProgressDialog
*
This
=
impl_from_IOleWindow
(
iface
);
FIXME
(
"(%p, %d): stub
\n
"
,
This
,
fEnterMode
);
return
E_NOTIMPL
;
}
static
const
IOleWindowVtbl
OleWindowVtbl
=
{
OleWindow_QueryInterface
,
OleWindow_AddRef
,
OleWindow_Release
,
OleWindow_GetWindow
,
OleWindow_ContextSensitiveHelp
};
HRESULT
ProgressDialog_Constructor
(
IUnknown
*
pUnkOuter
,
IUnknown
**
ppOut
)
{
ProgressDialog
*
This
;
...
...
@@ -506,6 +567,7 @@ HRESULT ProgressDialog_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
return
E_OUTOFMEMORY
;
This
->
IProgressDialog_iface
.
lpVtbl
=
&
ProgressDialogVtbl
;
This
->
IOleWindow_iface
.
lpVtbl
=
&
OleWindowVtbl
;
This
->
refCount
=
1
;
InitializeCriticalSection
(
&
This
->
cs
);
This
->
cs
.
DebugInfo
->
Spare
[
0
]
=
(
DWORD_PTR
)(
__FILE__
": ProgressDialog.cs"
);
...
...
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