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
21e1b157
Commit
21e1b157
authored
Feb 05, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 06, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Remove document observer before releasing nsdoc.
parent
d0c69396
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
2 deletions
+22
-2
htmldoc.c
dlls/mshtml/htmldoc.c
+3
-1
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
mutation.c
dlls/mshtml/mutation.c
+15
-0
nsembed.c
dlls/mshtml/nsembed.c
+3
-1
No files found.
dlls/mshtml/htmldoc.c
View file @
21e1b157
...
...
@@ -214,8 +214,10 @@ static ULONG WINAPI HTMLDocument_Release(IHTMLDocument2 *iface)
ConnectionPointContainer_Destroy
(
&
This
->
cp_container
);
if
(
This
->
nsdoc
)
if
(
This
->
nsdoc
)
{
remove_mutation_observer
(
This
->
nscontainer
,
This
->
nsdoc
);
nsIDOMHTMLDocument_Release
(
This
->
nsdoc
);
}
if
(
This
->
nscontainer
)
NSContainer_Release
(
This
->
nscontainer
);
...
...
dlls/mshtml/mshtml_private.h
View file @
21e1b157
...
...
@@ -510,6 +510,7 @@ void NSContainer_Release(NSContainer*);
void
init_mutation
(
NSContainer
*
);
void
set_mutation_observer
(
NSContainer
*
,
nsIDOMHTMLDocument
*
);
void
remove_mutation_observer
(
NSContainer
*
,
nsIDOMHTMLDocument
*
);
void
HTMLDocument_LockContainer
(
HTMLDocument
*
,
BOOL
);
void
show_context_menu
(
HTMLDocument
*
,
DWORD
,
POINT
*
,
IDispatch
*
);
...
...
dlls/mshtml/mutation.c
View file @
21e1b157
...
...
@@ -55,6 +55,21 @@ void set_mutation_observer(NSContainer *nscontainer, nsIDOMHTMLDocument *nshtmld
nsIDOMNSDocument_Release
(
nsdoc
);
}
void
remove_mutation_observer
(
NSContainer
*
nscontainer
,
nsIDOMHTMLDocument
*
nshtmldoc
)
{
nsIDOMNSDocument
*
nsdoc
;
nsresult
nsres
;
nsres
=
nsIDOMHTMLDocument_QueryInterface
(
nshtmldoc
,
&
IID_nsIDOMNSDocument
,
(
void
**
)
&
nsdoc
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"Could not get nsIDOMNSDocument: %08x
\n
"
,
nsres
);
return
;
}
nsIDOMNSDocument_WineRemoveObserver
(
nsdoc
,
NSDOCOBS
(
nscontainer
));
nsIDOMNSDocument_Release
(
nsdoc
);
}
#define IE_MAJOR_VERSION 7
#define IE_MINOR_VERSION 0
...
...
dlls/mshtml/nsembed.c
View file @
21e1b157
...
...
@@ -857,8 +857,10 @@ void update_nsdocument(HTMLDocument *doc)
return
;
}
if
(
doc
->
nsdoc
)
if
(
doc
->
nsdoc
)
{
remove_mutation_observer
(
doc
->
nscontainer
,
doc
->
nsdoc
);
nsIDOMHTMLDocument_Release
(
doc
->
nsdoc
);
}
doc
->
nsdoc
=
nsdoc
;
...
...
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