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
3c2b4171
Commit
3c2b4171
authored
Mar 08, 2023
by
Gabriel Ivăncescu
Committed by
Alexandre Julliard
Mar 09, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Hold ref to the frame element during readyState notifications.
Signed-off-by:
Gabriel Ivăncescu
<
gabrielopcode@gmail.com
>
parent
b7d75c9d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
3 deletions
+7
-3
persist.c
dlls/mshtml/persist.c
+7
-3
No files found.
dlls/mshtml/persist.c
View file @
3c2b4171
...
@@ -438,12 +438,15 @@ HRESULT set_moniker(HTMLOuterWindow *window, IMoniker *mon, IUri *nav_uri, IBind
...
@@ -438,12 +438,15 @@ HRESULT set_moniker(HTMLOuterWindow *window, IMoniker *mon, IUri *nav_uri, IBind
static
void
notif_readystate
(
HTMLOuterWindow
*
window
)
static
void
notif_readystate
(
HTMLOuterWindow
*
window
)
{
{
HTMLInnerWindow
*
inner_window
=
window
->
base
.
inner_window
;
HTMLInnerWindow
*
inner_window
=
window
->
base
.
inner_window
;
HTMLFrameBase
*
frame_element
=
window
->
frame_element
;
DOMEvent
*
event
;
DOMEvent
*
event
;
HRESULT
hres
;
HRESULT
hres
;
window
->
readystate_pending
=
FALSE
;
window
->
readystate_pending
=
FALSE
;
IHTMLWindow2_AddRef
(
&
inner_window
->
base
.
IHTMLWindow2_iface
);
IHTMLWindow2_AddRef
(
&
inner_window
->
base
.
IHTMLWindow2_iface
);
if
(
frame_element
)
IHTMLDOMNode_AddRef
(
&
frame_element
->
element
.
node
.
IHTMLDOMNode_iface
);
if
(
is_main_content_window
(
window
))
if
(
is_main_content_window
(
window
))
call_property_onchanged
(
&
window
->
browser
->
doc
->
cp_container
,
DISPID_READYSTATE
);
call_property_onchanged
(
&
window
->
browser
->
doc
->
cp_container
,
DISPID_READYSTATE
);
...
@@ -456,12 +459,13 @@ static void notif_readystate(HTMLOuterWindow *window)
...
@@ -456,12 +459,13 @@ static void notif_readystate(HTMLOuterWindow *window)
}
}
IHTMLWindow2_Release
(
&
inner_window
->
base
.
IHTMLWindow2_iface
);
IHTMLWindow2_Release
(
&
inner_window
->
base
.
IHTMLWindow2_iface
);
if
(
window
->
frame_element
)
{
if
(
frame_element
)
{
hres
=
create_document_event
(
window
->
frame_element
->
element
.
node
.
doc
,
EVENTID_READYSTATECHANGE
,
&
event
);
hres
=
create_document_event
(
frame_element
->
element
.
node
.
doc
,
EVENTID_READYSTATECHANGE
,
&
event
);
if
(
SUCCEEDED
(
hres
))
{
if
(
SUCCEEDED
(
hres
))
{
dispatch_event
(
&
window
->
frame_element
->
element
.
node
.
event_target
,
event
);
dispatch_event
(
&
frame_element
->
element
.
node
.
event_target
,
event
);
IDOMEvent_Release
(
&
event
->
IDOMEvent_iface
);
IDOMEvent_Release
(
&
event
->
IDOMEvent_iface
);
}
}
IHTMLDOMNode_Release
(
&
frame_element
->
element
.
node
.
IHTMLDOMNode_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