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
2dee8bb7
Commit
2dee8bb7
authored
May 11, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
May 12, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Added support for PI_APARTMENTTHREADED to BindProtocol::ReportProgress.
parent
e487196d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
5 deletions
+41
-5
bindprot.c
dlls/urlmon/bindprot.c
+41
-5
No files found.
dlls/urlmon/bindprot.c
View file @
2dee8bb7
...
...
@@ -596,6 +596,39 @@ static HRESULT WINAPI BPInternetProtocolSink_Switch(IInternetProtocolSink *iface
return
IInternetProtocolSink_Switch
(
This
->
protocol_sink
,
pProtocolData
);
}
typedef
struct
{
task_header_t
header
;
ULONG
status_code
;
LPWSTR
status_text
;
}
on_progress_task_t
;
static
void
on_progress_proc
(
BindProtocol
*
This
,
task_header_t
*
t
)
{
on_progress_task_t
*
task
=
(
on_progress_task_t
*
)
t
;
IInternetProtocolSink_ReportProgress
(
This
->
protocol_sink
,
task
->
status_code
,
task
->
status_text
);
heap_free
(
task
->
status_text
);
heap_free
(
task
);
}
static
void
report_progress
(
BindProtocol
*
This
,
ULONG
status_code
,
LPCWSTR
status_text
)
{
if
(
do_direct_notif
(
This
))
{
IInternetProtocolSink_ReportProgress
(
This
->
protocol_sink
,
status_code
,
status_text
);
}
else
{
on_progress_task_t
*
task
;
task
=
heap_alloc
(
sizeof
(
on_progress_task_t
));
task
->
status_code
=
status_code
;
task
->
status_text
=
heap_strdupW
(
status_text
);
push_task
(
This
,
&
task
->
header
,
on_progress_proc
);
}
}
static
HRESULT
WINAPI
BPInternetProtocolSink_ReportProgress
(
IInternetProtocolSink
*
iface
,
ULONG
ulStatusCode
,
LPCWSTR
szStatusText
)
{
...
...
@@ -614,20 +647,23 @@ static HRESULT WINAPI BPInternetProtocolSink_ReportProgress(IInternetProtocolSin
case
BINDSTATUS_MIMETYPEAVAILABLE
:
if
(
!
This
->
protocol_sink
)
return
S_OK
;
re
turn
IInternetProtocolSink_ReportProgress
(
This
->
protocol_sink
,
ulStatusCode
,
szStatusText
)
;
re
port_progress
(
This
,
ulStatusCode
,
szStatusText
);
break
;
case
BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE
:
if
(
!
This
->
protocol_sink
)
return
S_OK
;
re
turn
IInternetProtocolSink_ReportProgress
(
This
->
protocol_sink
,
re
port_progress
(
This
,
This
->
from_urlmon
?
BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE
:
BINDSTATUS_MIMETYPEAVAILABLE
,
szStatusText
);
szStatusText
);
break
;
default:
FIXME
(
"unsupported ulStatusCode %u
\n
"
,
ulStatusCode
);
return
E_NOTIMPL
;
}
return
E_NOTIMPL
;
return
S_OK
;
}
static
HRESULT
WINAPI
BPInternetProtocolSink_ReportData
(
IInternetProtocolSink
*
iface
,
...
...
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