-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Commit 8b68274
Fix method calls for PHP objects wrapped in variant
As is, methods of PHP can never be called, because we're first trying
to read the property with the name of the method.
We fix this by first checking for `DISPATCH_METHOD` and treat that as
method call, if the method would be callable. Only otherwise we try to
access the respective property.
It needs to be noted that this breaks code which accesses a property of
an object, which defines a method of the same name. However, instances
of such classes should never be wrapped in variants, because this can't
be distinguished by COM anyway.
Closes GH-16945.1 parent fdd3839 commit 8b68274
File tree
3 files changed
+51
-7
lines changed- ext/com_dotnet
- tests
3 files changed
+51
-7
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3 | 3 |
| |
4 | 4 |
| |
5 | 5 |
| |
6 | - | ||
6 | + | ||
7 | + | ||
7 | 8 |
| |
8 | 9 |
| |
9 | 10 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
257 | 257 |
| |
258 | 258 |
| |
259 | 259 |
| |
260 | - | ||
261 | - | ||
262 | - | ||
263 | - | ||
260 | + | ||
264 | 261 |
| |
265 | 262 |
| |
266 | - | ||
263 | + | ||
267 | 264 |
| |
268 | 265 |
| |
269 | 266 |
| |
| |||
289 | 286 |
| |
290 | 287 |
| |
291 | 288 |
| |
289 | + | ||
290 | + | ||
291 | + | ||
292 | 292 |
| |
293 | 293 |
| |
294 | 294 |
| |
| |||
307 | 307 |
| |
308 | 308 |
| |
309 | 309 |
| |
310 | - | ||
310 | + | ||
311 | + | ||
312 | + | ||
311 | 313 |
| |
312 | 314 |
| |
313 | 315 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + |
0 commit comments