Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
bce6ee2b
Commit
bce6ee2b
authored
Jan 16, 2013
by
Jacek Caban
Committed by
Alexandre Julliard
Jan 16, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Remove duplicated property entries in preprocess_dispex_data.
parent
d1ccbceb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
0 deletions
+29
-0
dispex.c
dlls/mshtml/dispex.c
+16
-0
jstest.html
dlls/mshtml/tests/jstest.html
+13
-0
No files found.
dlls/mshtml/dispex.c
View file @
bce6ee2b
...
...
@@ -373,6 +373,22 @@ static dispex_data_t *preprocess_dispex_data(DispatchEx *This)
data
->
funcs
=
heap_realloc
(
data
->
funcs
,
data
->
func_cnt
*
sizeof
(
func_info_t
));
qsort
(
data
->
funcs
,
data
->
func_cnt
,
sizeof
(
func_info_t
),
dispid_cmp
);
for
(
i
=
1
;
i
<
data
->
func_cnt
&&
data
->
funcs
[
i
-
1
].
id
!=
data
->
funcs
[
i
].
id
;
i
++
);
if
(
i
<
data
->
func_cnt
)
{
unsigned
j
=
i
--
;
/* We have at least one duplicated property. This may happen if more than one
* interface implements the same property. We have to remove these duplicated
* entries. */
while
(
j
<
data
->
func_cnt
)
{
while
(
j
+
1
<
data
->
func_cnt
&&
data
->
funcs
[
j
+
1
].
id
==
data
->
funcs
[
j
].
id
)
j
++
;
data
->
funcs
[
i
++
]
=
data
->
funcs
[
j
++
];
}
data
->
func_cnt
=
i
;
}
data
->
name_table
=
heap_alloc
(
data
->
func_cnt
*
sizeof
(
func_info_t
*
));
for
(
i
=
0
;
i
<
data
->
func_cnt
;
i
++
)
data
->
name_table
[
i
]
=
data
->
funcs
+
i
;
...
...
dlls/mshtml/tests/jstest.html
View file @
bce6ee2b
...
...
@@ -165,6 +165,18 @@ function test_override_functions() {
ok
(
tmp
===
"test"
,
"div.addBehavior() = "
+
tmp
);
}
function
test_forin
()
{
var
cnt
=
0
;
document
.
body
.
innerHTML
=
'<a id="aid"></a>'
;
for
(
var
x
in
document
.
getElementById
(
"aid"
))
{
cnt
++
;
}
ok
(
cnt
>
100
,
"cnt = "
+
cnt
);
}
var
globalVar
=
false
;
function
runTests
()
{
...
...
@@ -185,6 +197,7 @@ function runTests() {
test_attribute_collection
();
test_arg_conv
();
test_override_functions
();
test_forin
();
var
r
=
window
.
execScript
(
"globalVar = true;"
);
ok
(
r
===
undefined
,
"execScript returned "
+
r
);
...
...
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