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
207fe98e
Commit
207fe98e
authored
Oct 26, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
Oct 27, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Moved bscallback to HTMLWindow.
parent
50588739
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
21 additions
and
18 deletions
+21
-18
htmldoc.c
dlls/mshtml/htmldoc.c
+0
-1
htmlwindow.c
dlls/mshtml/htmlwindow.c
+1
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+3
-2
navigate.c
dlls/mshtml/navigate.c
+14
-12
persist.c
dlls/mshtml/persist.c
+3
-3
No files found.
dlls/mshtml/htmldoc.c
View file @
207fe98e
...
...
@@ -1886,7 +1886,6 @@ static ULONG WINAPI CustomDoc_Release(ICustomDoc *iface)
TRACE
(
"(%p) ref = %u
\n
"
,
This
,
ref
);
if
(
!
ref
)
{
set_document_bscallback
(
&
This
->
basedoc
,
NULL
);
set_current_mon
(
&
This
->
basedoc
,
NULL
);
if
(
This
->
basedoc
.
doc_node
)
{
This
->
basedoc
.
doc_node
->
basedoc
.
doc_obj
=
NULL
;
...
...
dlls/mshtml/htmlwindow.c
View file @
207fe98e
...
...
@@ -158,6 +158,7 @@ static ULONG WINAPI HTMLWindow2_Release(IHTMLWindow2 *iface)
if
(
!
ref
)
{
DWORD
i
;
set_window_bscallback
(
This
,
NULL
);
window_set_docnode
(
This
,
NULL
);
release_children
(
This
);
...
...
dlls/mshtml/mshtml_private.h
View file @
207fe98e
...
...
@@ -219,6 +219,8 @@ struct HTMLWindow {
nsIDOMWindow
*
nswindow
;
HTMLWindow
*
parent
;
nsChannelBSC
*
bscallback
;
event_target_t
*
event_target
;
IHTMLEventObj
*
event
;
BOOL
*
event_vector
;
...
...
@@ -358,7 +360,6 @@ struct HTMLDocumentObj {
DWORD
update
;
/* FIXME: probably should be in document node object */
nsChannelBSC
*
bscallback
;
IMoniker
*
mon
;
LPOLESTR
url
;
struct
list
bindings
;
...
...
@@ -658,7 +659,7 @@ void init_nsevents(NSContainer*);
void
add_nsevent_listener
(
HTMLWindow
*
,
LPCWSTR
);
nsresult
get_nsinterface
(
nsISupports
*
,
REFIID
,
void
**
);
void
set_
document_bscallback
(
HTMLDocument
*
,
nsChannelBSC
*
);
void
set_
window_bscallback
(
HTMLWindow
*
,
nsChannelBSC
*
);
void
set_current_mon
(
HTMLDocument
*
,
IMoniker
*
);
HRESULT
start_binding
(
HTMLDocument
*
,
BSCallback
*
,
IBindCtx
*
);
void
detach_document_bindings
(
HTMLDocumentObj
*
);
...
...
dlls/mshtml/navigate.c
View file @
207fe98e
...
...
@@ -951,7 +951,7 @@ static HRESULT read_stream_data(nsChannelBSC *This, IStream *stream)
on_start_nsrequest
(
This
);
/* events are reset when a new document URI is loaded, so re-initialise them here */
if
(
This
->
bsc
.
doc
&&
This
->
bsc
.
doc
->
doc_obj
->
bscallback
==
This
&&
This
->
bsc
.
doc
->
doc_obj
->
nscontainer
)
{
if
(
This
->
bsc
.
doc
&&
This
->
bsc
.
doc
->
window
->
bscallback
==
This
&&
This
->
bsc
.
doc
->
doc_obj
->
nscontainer
)
{
update_window_doc
(
This
->
bsc
.
doc
->
window
);
init_nsevents
(
This
->
bsc
.
doc
->
doc_obj
->
nscontainer
);
}
...
...
@@ -1107,27 +1107,29 @@ IMoniker *get_channelbsc_mon(nsChannelBSC *This)
return
This
->
bsc
.
mon
;
}
void
set_
document_bscallback
(
HTMLDocument
*
doc
,
nsChannelBSC
*
callback
)
void
set_
window_bscallback
(
HTMLWindow
*
window
,
nsChannelBSC
*
callback
)
{
BSCallback
*
iter
;
if
(
doc
->
doc_obj
->
bscallback
)
{
if
(
doc
->
doc_obj
->
bscallback
->
bsc
.
binding
)
IBinding_Abort
(
doc
->
doc_obj
->
bscallback
->
bsc
.
binding
);
doc
->
doc_obj
->
bscallback
->
bsc
.
doc
=
NULL
;
IBindStatusCallback_Release
(
STATUSCLB
(
&
doc
->
doc_obj
->
bscallback
->
bsc
));
if
(
window
->
bscallback
)
{
if
(
window
->
bscallback
->
bsc
.
binding
)
IBinding_Abort
(
window
->
bscallback
->
bsc
.
binding
);
window
->
bscallback
->
bsc
.
doc
=
NULL
;
IBindStatusCallback_Release
(
STATUSCLB
(
&
window
->
bscallback
->
bsc
));
}
LIST_FOR_EACH_ENTRY
(
iter
,
&
doc
->
doc_obj
->
bindings
,
BSCallback
,
entry
)
{
iter
->
doc
=
NULL
;
list_remove
(
&
iter
->
entry
);
if
(
window
->
doc_obj
)
{
LIST_FOR_EACH_ENTRY
(
iter
,
&
window
->
doc_obj
->
bindings
,
BSCallback
,
entry
)
{
iter
->
doc
=
NULL
;
list_remove
(
&
iter
->
entry
);
}
}
doc
->
doc_obj
->
bscallback
=
callback
;
window
->
bscallback
=
callback
;
if
(
callback
)
{
IBindStatusCallback_AddRef
(
STATUSCLB
(
&
callback
->
bsc
));
callback
->
bsc
.
doc
=
doc
;
callback
->
bsc
.
doc
=
&
window
->
doc_obj
->
base
doc
;
}
}
...
...
dlls/mshtml/persist.c
View file @
207fe98e
...
...
@@ -196,7 +196,7 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BO
}
}
set_
document_bscallback
(
This
,
bscallback
);
set_
window_bscallback
(
This
->
window
,
bscallback
);
IUnknown_Release
((
IUnknown
*
)
bscallback
);
CoTaskMemFree
(
url
);
...
...
@@ -292,7 +292,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
return
hres
;
if
(
!
bind_complete
)
return
start_binding
(
This
,
(
BSCallback
*
)
This
->
doc_obj
->
bscallback
,
pibc
);
return
start_binding
(
This
,
(
BSCallback
*
)
This
->
window
->
bscallback
,
pibc
);
return
S_OK
;
}
...
...
@@ -556,7 +556,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM
if
(
FAILED
(
hres
))
return
hres
;
return
channelbsc_load_stream
(
This
->
doc_obj
->
bscallback
,
pStm
);
return
channelbsc_load_stream
(
This
->
window
->
bscallback
,
pStm
);
}
static
HRESULT
WINAPI
PersistStreamInit_Save
(
IPersistStreamInit
*
iface
,
LPSTREAM
pStm
,
...
...
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