Commit 8d582ad
committed
core: Skip instantiation for timeline objects placed before clip instantiation
Often, `MovieClip`s have children that are placed before the `MovieClip`'s
AVM2 side is allocated and instantiated. These children will be instantiated
in the `super()` constructor (specifically, the `Sprite.constructChildren`
call), rather than in-line with normal frame construction. However, if the
`super()` constructor is /never/ called, these children will never be
instantiated. This commit adds a flag that is set on such early children.
Children with this flag set will never have `construct_frame` called on them
during normal frame construction.
Also add test coverage1 parent 0e019a5 commit 8d582ad
File tree
5 files changed
+67
-5
lines changed- core/src
- display_object
- tests/tests/swfs/avm2/movieclip_frameconstruct_skipped
5 files changed
+67
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
794 | 794 | | |
795 | 795 | | |
796 | 796 | | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
797 | 805 | | |
798 | 806 | | |
799 | 807 | | |
| |||
2192 | 2200 | | |
2193 | 2201 | | |
2194 | 2202 | | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
2195 | 2215 | | |
2196 | 2216 | | |
2197 | 2217 | | |
| |||
2864 | 2884 | | |
2865 | 2885 | | |
2866 | 2886 | | |
2867 | | - | |
| 2887 | + | |
2868 | 2888 | | |
2869 | 2889 | | |
2870 | 2890 | | |
| |||
2925 | 2945 | | |
2926 | 2946 | | |
2927 | 2947 | | |
| 2948 | + | |
| 2949 | + | |
| 2950 | + | |
| 2951 | + | |
| 2952 | + | |
| 2953 | + | |
| 2954 | + | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
2928 | 2958 | | |
2929 | 2959 | | |
2930 | 2960 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1409 | 1409 | | |
1410 | 1410 | | |
1411 | 1411 | | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
1412 | 1418 | | |
1413 | 1419 | | |
1414 | 1420 | | |
| |||
2485 | 2491 | | |
2486 | 2492 | | |
2487 | 2493 | | |
2488 | | - | |
2489 | | - | |
2490 | 2494 | | |
2491 | | - | |
2492 | | - | |
| 2495 | + | |
| 2496 | + | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
2493 | 2514 | | |
| 2515 | + | |
2494 | 2516 | | |
2495 | 2517 | | |
2496 | 2518 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
Binary file not shown.
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments