Commit Graph

12555 Commits

Author SHA1 Message Date
Lord-McSweeney af6a66b8cf avm2: Partially implement `flash.trace::Trace` 2024-07-12 13:10:15 +02:00
Aaron Hill c852990346 swf: Remove 'libflate' feature
The 'flate2' crate already supports both C and pure Rust
backends, so we don't gain anything by supporting libflate
2024-07-12 09:09:49 +02:00
Lord-McSweeney ea0bbce184 avm2: Use return type of `ConstructProp` in optimizer 2024-07-12 09:50:58 +03:00
Lord-McSweeney 604ac514b8 avm2: Properly push return value of `getsuper` in optimizer 2024-07-12 09:50:58 +03:00
Lord-McSweeney 08b2c5d0d6 avm2: Function's c_class should be named `Function$`, not `Function` 2024-07-12 09:50:58 +03:00
Lord-McSweeney f15128f6a2 avm2: Add `CallProperty` -> `Coerce(I/U/D)SwapPop` optimization, propagate types from `AsTypeLate` 2024-07-12 09:50:58 +03:00
Tom Schuster 393ffe05ef tests: Test for flash.events.NetFilterEvent 2024-07-12 00:20:16 +02:00
Tom Schuster f788586e22 avm2: Add flash.events.NetFilterEvent 2024-07-12 00:20:16 +02:00
Kamil Jarosz ac9b39a652 core: Fix double caret rendering in justified text
The condition

  visible_selection.start() >= *start && visible_selection.end() <= *end

was inaccurate, because the end of the selection is exclusive.
That caused the condition to be true for two adjacent boxes.
For instance:

  box 1: from 0 to 6,  "hello "
  box 2: from 6 to 11, "world"

The caret was rendered for both boxes when it was at position 6.

When applying a correct condition (i.e. treating the end as exclusive)
there is a problem with rendering the caret at the very end of the text,
because the condition will not be triggered for any box
(position 11 in the example above).

That is why a condition specific to this case is added, i.e.

  *end == text_len

When the box is the last box in the text, we are forcing
the caret to be rendered.
2024-07-10 14:36:27 +02:00
Tom Schuster eec5e908ad tests: Test mismatched E4X tags 2024-07-09 01:01:15 +02:00
Tom Schuster 8768143d7e avm2: Throw error for missing end tag in E4X 2024-07-09 01:01:15 +02:00
Tom Schuster 5aeae40bc5 avm2: Ignore mismatched end tags in E4X 2024-07-09 01:01:15 +02:00
dependabot[bot] 69abfa4528 build(deps): bump the cargo-minor group with 3 updates
Bumps the cargo-minor group with 3 updates: [bitstream-io](https://github.com/tuffy/bitstream-io), [syn](https://github.com/dtolnay/syn) and [toml_edit](https://github.com/toml-rs/toml).


Updates `bitstream-io` from 2.4.2 to 2.5.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.4.2...v2.5.0)

Updates `syn` from 2.0.69 to 2.0.70
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.69...2.0.70)

Updates `toml_edit` from 0.22.14 to 0.22.15
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.14...v0.22.15)

---
updated-dependencies:
- dependency-name: bitstream-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml_edit
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 00:42:31 +02:00
dependabot[bot] 54ce439a5b build(deps): bump quick-xml in the cargo-minor group
Bumps the cargo-minor group with 1 update: [quick-xml](https://github.com/tafia/quick-xml).


Updates `quick-xml` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](https://github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: quick-xml
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 21:38:42 +02:00
dependabot[bot] 47564b0b4e build(deps-dev): bump eslint-plugin-react-hooks in /web
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 5.1.0-rc-fb9a90fa48-20240614 to 5.1.0-rc.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

---
updated-dependencies:
- dependency-name: eslint-plugin-react-hooks
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 14:51:54 +02:00
dependabot[bot] d4160a70da build(deps-dev): bump typescript-eslint in /web
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.0.0-alpha.39 to 8.0.0-alpha.41.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 14:44:11 +02:00
sleepycatcoding ab9bbd3dc1 desktop: Fix open advanced shortcut
egui expects most specific shortcuts to be checked first, previously
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd> would open the normal file dialog.
2024-07-08 15:37:31 +03:00
Lord-McSweeney 62fd898c0d avm2: Remove two unused `Class` functions
`define_builtin_class_properties` and `define_slot_number_instance_traits`
2024-07-08 12:59:15 +03:00
Lord-McSweeney fffcd5184e avm2: Don't mark a class created from `Class::custom_new` as having its traits already loaded 2024-07-08 12:59:15 +03:00
Lord-McSweeney 1b5daf5981 avm2: Initialize global scope object earlier and remove `set_instance_class` 2024-07-08 12:59:15 +03:00
Lord-McSweeney 0d637d34dd avm2: Remove `void`'s ClassObject 2024-07-08 12:59:15 +03:00
Lord-McSweeney f81136af2c avm2: De-optionify ScriptObjectData.instance_class 2024-07-08 12:59:15 +03:00
Lord-McSweeney 6cc1488f73 avm2: Remove all classless objects 2024-07-08 12:59:15 +03:00
Lord-McSweeney 953a02533f avm2: Fix created receiver value when constructing function 2024-07-08 12:59:15 +03:00
Lord-McSweeney 73e3728c03 avm2: Merge `init_instance_vtable` into `ClassObject::from_class_partial` 2024-07-08 12:59:15 +03:00
Lord-McSweeney 01bdbd20d6 avm2: Pass a `Mutation` to `VTable::init_vtable` instead of an `UpdateContext` 2024-07-08 12:59:15 +03:00
Lord-McSweeney 343ea346d2 avm2: Rename `Class::instance_vtable` to `Class::vtable` 2024-07-08 12:59:15 +03:00
Lord-McSweeney a68c48037b avm2: Remove `class_vtable` field from `ClassObject` 2024-07-08 12:59:15 +03:00
Lord-McSweeney b67dafb93c avm2: Convert `i_class` and `c_class` to a single enum 2024-07-08 12:59:15 +03:00
Lord-McSweeney 4442350912 avm2: Push correct type in optimizer for `NewClass` op 2024-07-08 12:59:15 +03:00
Lord-McSweeney efbaf6a0b0 avm2: Use proper slot type for `TraitKind::Class` 2024-07-08 12:59:15 +03:00
Lord-McSweeney e222a1646c avm2: Remove `Class::class_init` 2024-07-08 12:59:15 +03:00
Lord-McSweeney 13ee356b8c avm2: Fix function prototype 2024-07-08 12:59:15 +03:00
Lord-McSweeney bac18c1a84 avm2: Simplify `ClassObject::link_type` 2024-07-08 12:59:15 +03:00
Lord-McSweeney 9c872860e9 avm2: Actually apply class refactor to ClassObject and describeType
This requires changing the AVM2 ClassObject symbol registry to use Classes
2024-07-08 12:59:15 +03:00
Lord-McSweeney bb50a6f926 avm2: Split `Class` into a i_class `Class` and a c_class `Class` 2024-07-08 12:59:15 +03:00
Nathan Adams adebb04e3d web: Removed some unneeded eslint configs 2024-07-08 11:34:35 +02:00
Nathan Adams f5dc3c8975 web: Enable tseslint.configs.strict (it caught a bug!) 2024-07-08 11:34:35 +02:00
Nathan Adams 6e74f57318 web: Update to eslint 9 2024-07-08 11:34:35 +02:00
Nathan Adams 53d56573c1 web: Migrate to 'flat config' style for eslint 2024-07-08 11:34:35 +02:00
TÖRÖK Attila acc84769b6 desktop,chore: Bump `egui` to `v0.28.1` 2024-07-08 01:29:40 +02:00
Nathan Adams dd7692b211 core: Document audio+DO methods slightly 2024-07-07 23:57:24 +02:00
Nathan Adams 229697fbbd core: Correctly handle sound events attached to buttons. Fixes #2473 2024-07-07 23:57:24 +02:00
Nathan Adams 1ffb9d2ab9 avm1: Remove sounds when their clip is unloaded, fixes #7447, #14663 2024-07-07 23:57:24 +02:00
Nathan Adams 84df034f84 core: When stopping sounds associated with movieclips, go by path instead of pointer - fixes #9795 2024-07-07 23:57:24 +02:00
Kamil Jarosz dda4cbfd62 core: Use existing methods for rounding twips
Replace `round_to_pixel_half_even` and `round_down_to_pixel` with
existing methods used for rounding twips to pixels.
2024-07-07 21:45:52 +02:00
Lord-McSweeney 1c1fc099cb avm2: Add `flash.net.drm::LoadVoucherSetting` class 2024-07-07 16:03:52 +03:00
Lord-McSweeney 2d650faec0 avm2: Implement `flash.events::AVStatusEvent` and `flash.media::AVCaptionStyle` 2024-07-07 16:03:52 +03:00
Aaron Hill f0d224d88e avm2: Make 'Loader.unloadAndStop' call 'Loader.unload'
We still need to implement the 'stop' behavior, but this should
bring us closer to matching Flash Player.
2024-07-07 08:13:10 -04:00
dependabot[bot] cb8770663f build(deps): bump the cargo-minor group with 3 updates
Bumps the cargo-minor group with 3 updates: [serde](https://github.com/serde-rs/serde), [syn](https://github.com/dtolnay/syn) and [gilrs](https://gitlab.com/gilrs-project/gilrs).


Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

Updates `syn` from 2.0.68 to 2.0.69
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.68...2.0.69)

Updates `gilrs` from 0.10.7 to 0.10.8
- [Commits](https://gitlab.com/gilrs-project/gilrs/compare/v0.10.7...v0.10.8)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: gilrs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-07 13:10:44 +02:00