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
7d093afc
Commit
7d093afc
authored
Dec 17, 2007
by
Jacek Caban
Committed by
Alexandre Julliard
Dec 17, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Use flag to store protocol lock state.
parent
ef16e9f8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
7 deletions
+10
-7
binding.c
dlls/urlmon/binding.c
+10
-7
No files found.
dlls/urlmon/binding.c
View file @
7d093afc
...
...
@@ -51,6 +51,8 @@ typedef enum {
END_DOWNLOAD
}
download_state_t
;
#define BINDING_LOCKED 0x0001
struct
Binding
{
const
IBindingVtbl
*
lpBindingVtbl
;
const
IInternetProtocolSinkVtbl
*
lpInternetProtocolSinkVtbl
;
...
...
@@ -71,7 +73,7 @@ struct Binding {
LPWSTR
url
;
BOOL
report_mime
;
DWORD
continue_call
;
BOOL
request_locked
;
DWORD
state
;
download_state_t
download_state
;
DWORD
apartment_thread
;
...
...
@@ -838,9 +840,10 @@ static void report_data(Binding *This, DWORD bscf, ULONG progress, ULONG progres
BINDSTATUS_DOWNLOADINGDATA
,
This
->
url
);
}
if
(
!
This
->
request_locked
)
{
if
(
!
(
This
->
state
&
BINDING_LOCKED
)
)
{
HRESULT
hres
=
IInternetProtocol_LockRequest
(
This
->
protocol
,
0
);
This
->
request_locked
=
SUCCEEDED
(
hres
);
if
(
SUCCEEDED
(
hres
))
This
->
state
|=
BINDING_LOCKED
;
}
formatetc
.
cfFormat
=
This
->
clipboard_format
;
...
...
@@ -896,9 +899,9 @@ static void report_result_proc(Binding *binding, task_header_t *t)
{
IInternetProtocol_Terminate
(
binding
->
protocol
,
0
);
if
(
binding
->
request_locked
)
{
if
(
binding
->
state
&
BINDING_LOCKED
)
{
IInternetProtocol_UnlockRequest
(
binding
->
protocol
);
binding
->
request_locked
=
FALSE
;
binding
->
state
&=
~
BINDING_LOCKED
;
}
heap_free
(
t
);
...
...
@@ -1186,7 +1189,7 @@ static HRESULT Binding_Create(LPCWSTR url, IBindCtx *pbc, REFIID riid, Binding *
ret
->
notif_hwnd
=
get_notif_hwnd
();
ret
->
report_mime
=
TRUE
;
ret
->
continue_call
=
0
;
ret
->
request_locked
=
FALSE
;
ret
->
state
=
0
;
ret
->
download_state
=
BEFORE_DOWNLOAD
;
ret
->
task_queue_head
=
ret
->
task_queue_tail
=
NULL
;
...
...
@@ -1284,7 +1287,7 @@ HRESULT start_binding(LPCWSTR url, IBindCtx *pbc, REFIID riid, void **ppv)
}
if
(
binding
->
stream
->
init_buf
)
{
if
(
binding
->
request_locked
)
if
(
binding
->
state
&
BINDING_LOCKED
)
IInternetProtocol_UnlockRequest
(
binding
->
protocol
);
IStream_AddRef
(
STREAM
(
binding
->
stream
));
...
...
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