sleepycatcoding
c95d02339e
frontend-utils: Drop 'static bound from push_key
2024-04-27 01:04:40 +02:00
dependabot[bot]
c6bfaf8fae
build(deps): bump the cargo-minor group with 4 updates
...
Bumps the cargo-minor group with 4 updates: [thiserror](https://github.com/dtolnay/thiserror ), [fluent-templates](https://github.com/XAMPPRocky/fluent-templates ), [toml_edit](https://github.com/toml-rs/toml ) and [reqwest](https://github.com/seanmonstar/reqwest ).
Updates `thiserror` from 1.0.58 to 1.0.59
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59 )
Updates `fluent-templates` from 0.9.2 to 0.9.4
- [Release notes](https://github.com/XAMPPRocky/fluent-templates/releases )
- [Changelog](https://github.com/XAMPPRocky/fluent-templates/blob/master/CHANGELOG.md )
- [Commits](https://github.com/XAMPPRocky/fluent-templates/compare/fluent-templates-v0.9.2...fluent-templates-v0.9.4 )
Updates `toml_edit` from 0.22.9 to 0.22.12
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.9...v0.22.12 )
Updates `reqwest` from 0.12.3 to 0.12.4
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.3...v0.12.4 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fluent-templates
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
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 20:33:27 +02:00
sleepycatcoding
86b35145ec
frontend-utils: Unify warning format strings; add warning enum
...
This also lays the groundwork for translated warnings.
2024-04-22 14:20:50 +03:00
dependabot[bot]
d3cc9d5fa5
build(deps): bump the cargo-minor group with 11 updates
...
Bumps the cargo-minor group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.81` | `1.0.82` |
| [async-channel](https://github.com/smol-rs/async-channel ) | `2.2.0` | `2.2.1` |
| [chrono](https://github.com/chronotope/chrono ) | `0.4.37` | `0.4.38` |
| [encoding_rs](https://github.com/hsivonen/encoding_rs ) | `0.8.33` | `0.8.34` |
| [fluent-templates](https://github.com/XAMPPRocky/fluent-templates ) | `0.9.1` | `0.9.2` |
| [either](https://github.com/rayon-rs/either ) | `1.10.0` | `1.11.0` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.35` | `1.0.36` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.58` | `2.0.59` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.79` | `1.0.80` |
| [webbrowser](https://github.com/amodm/webbrowser-rs ) | `0.8.14` | `0.8.15` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic ) | `0.7.0` | `0.7.2` |
Updates `anyhow` from 1.0.81 to 1.0.82
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82 )
Updates `async-channel` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.0...v2.2.1 )
Updates `chrono` from 0.4.37 to 0.4.38
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.37...v0.4.38 )
Updates `encoding_rs` from 0.8.33 to 0.8.34
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.33...v0.8.34 )
Updates `fluent-templates` from 0.9.1 to 0.9.2
- [Release notes](https://github.com/XAMPPRocky/fluent-templates/releases )
- [Changelog](https://github.com/XAMPPRocky/fluent-templates/blob/master/CHANGELOG.md )
- [Commits](https://github.com/XAMPPRocky/fluent-templates/compare/fluent-templates-v0.9.1...fluent-templates-v0.9.2 )
Updates `either` from 1.10.0 to 1.11.0
- [Commits](https://github.com/rayon-rs/either/compare/1.10.0...1.11.0 )
Updates `quote` from 1.0.35 to 1.0.36
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36 )
Updates `syn` from 2.0.58 to 2.0.59
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.58...2.0.59 )
Updates `proc-macro2` from 1.0.79 to 1.0.80
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.79...1.0.80 )
Updates `webbrowser` from 0.8.14 to 0.8.15
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.8.14...v0.8.15 )
Updates `libtest-mimic` from 0.7.0 to 0.7.2
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases )
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md )
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/commits )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: async-channel
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: encoding_rs
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fluent-templates
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: either
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: quote
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: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: webbrowser
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: libtest-mimic
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 23:34:51 +02:00
Nathan Adams
7079f38a9f
frontend-utils: Switch to reqwest
2024-04-15 23:07:56 +02:00
Crowdin Bot
177a5a6de7
chore: Update translations from Crowdin
2024-04-15 13:30:49 +02:00
Crowdin Bot
fd1b6f59f2
chore: Update translations from Crowdin
2024-04-14 15:01:30 +02:00
Crowdin Bot
e687d16ecb
chore: Update translations from Crowdin
2024-04-13 00:08:53 +02:00
Nathan Adams
2f678bfd39
desktop: Remove --timedemo support. As far as we know, nobody's used it since it was added, and we have better ways of profiling these days.
2024-04-12 23:44:42 +02:00
Nathan Adams
dd187b0906
desktop: Removed now-unused dependencies
2024-04-11 23:14:44 +02:00
Nathan Adams
f937945233
frontend-utils: Move ExternalNavigator from Desktop
2024-04-11 23:14:44 +02:00
Nathan Adams
da595b0469
desktop: Make ExternalNavigatorBackend not depend on rfd
2024-04-11 23:14:44 +02:00
Nathan Adams
a3d468a568
frontend-utils: Move PlayingContent from Desktop
2024-04-11 23:14:44 +02:00
Nathan Adams
47654444b5
desktop: Make PlayingContent not rely on rfd
2024-04-11 23:14:44 +02:00
Nathan Adams
df2a7285db
frontend-utils: Rename WinitAsyncExecutor to just AsyncExecutor
2024-04-11 23:14:44 +02:00
Nathan Adams
29e515c672
frontend-utils: Move WinitAsyncExecutor from Desktop
2024-04-11 23:14:44 +02:00
Nathan Adams
3529a2d12d
desktop: Made WinitAsyncExecutor not depend on winit
2024-04-11 23:14:44 +02:00
Nathan Adams
a188962306
frontend-utils: Move DiskStorageBackend from desktop
2024-04-11 23:14:44 +02:00
sleepycatcoding
2cd915046e
frontend-utils: Move bookmark writer from desktop
2024-04-09 18:54:11 +02:00
sleepycatcoding
54dcec7c60
frontend-utils: Move bookmark reader from desktop
2024-04-09 18:54:11 +02:00
sleepycatcoding
7c7f383595
frontend-utils: Move url_to_readable_name from desktop
2024-04-09 18:54:11 +02:00
Nathan Adams
57381f42b2
desktop: Fix opening faux-file URLs on windows
2024-04-09 00:01:59 +02:00
Nathan Adams
8597688ebb
chore: Fix weird formatting that rustfmt isn't catching
2024-04-09 00:01:59 +02:00
Nathan Adams
e5fc56429e
desktop: Add Bookmark dialog should use the opened url, not a movies internal url
2024-04-09 00:01:59 +02:00
Nathan Adams
bf7a88d63f
frontend-utils: Support .ruf files
2024-04-09 00:01:59 +02:00
Nathan Adams
4632a14376
desktop: Allow opening folder based bundles
2024-04-09 00:01:59 +02:00
Nathan Adams
906837c6a1
frontend-utils: Rename ParseResult to ParseDetails
2024-04-09 00:01:59 +02:00
dependabot[bot]
ae10b76431
build(deps): bump the cargo-minor group with 6 updates
...
Bumps the cargo-minor group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [image](https://github.com/image-rs/image ) | `0.25.0` | `0.25.1` |
| [downcast-rs](https://github.com/marcianx/downcast-rs ) | `1.2.0` | `1.2.1` |
| [regress](https://github.com/ridiculousfish/regress ) | `0.9.0` | `0.9.1` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.55` | `2.0.58` |
| [webbrowser](https://github.com/amodm/webbrowser-rs ) | `0.8.13` | `0.8.14` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.2.12` | `0.2.14` |
Updates `image` from 0.25.0 to 0.25.1
- [Changelog](https://github.com/image-rs/image/blob/main/CHANGES.md )
- [Commits](https://github.com/image-rs/image/compare/v0.25.0...v0.25.1 )
Updates `downcast-rs` from 1.2.0 to 1.2.1
- [Changelog](https://github.com/marcianx/downcast-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/marcianx/downcast-rs/compare/v1.2.0...v1.2.1 )
Updates `regress` from 0.9.0 to 0.9.1
- [Release notes](https://github.com/ridiculousfish/regress/releases )
- [Commits](https://github.com/ridiculousfish/regress/compare/v0.9.0...v0.9.1 )
Updates `syn` from 2.0.55 to 2.0.58
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.55...2.0.58 )
Updates `webbrowser` from 0.8.13 to 0.8.14
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.8.13...v0.8.14 )
Updates `getrandom` from 0.2.12 to 0.2.14
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.12...v0.2.14 )
---
updated-dependencies:
- dependency-name: image
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: downcast-rs
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: regress
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: webbrowser
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: getrandom
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 23:44:16 +02:00
Kamil Jarosz
d110313b1d
desktop: Add support for NumLock
2024-04-08 20:14:07 +02:00
Crowdin Bot
4c8d0704db
chore: Update translations from Crowdin
2024-04-06 00:50:33 +02:00
sleepycatcoding
f0106cec30
desktop: fix unused import warning
...
this import should have been in tests module, not in the main file.
2024-04-05 01:16:11 +03:00
Crowdin Bot
78f46b74f6
chore: Update translations from Crowdin
2024-04-04 23:58:45 +02:00
sleepycatcoding
9f71206fcf
frontend-utils: Add TableExt trait
...
This moves the logic previously found in BookmarkWriter's `with_underlying_table`
into a common trait to be reused by other writers.
2024-04-04 20:01:14 +02:00
Colin Kinloch
6f568d0a2d
desktop: Fix gui scale on launch on wayland
2024-04-04 17:58:58 +02:00
Nathan Adams
19c914c5a8
chore: Use workspace version for url
2024-04-04 17:29:00 +02:00
Nathan Adams
d8fec1cabc
chore: Use workspace version for image
2024-04-04 17:29:00 +02:00
Nathan Adams
2036d85a95
chore: Use workspace version for futures
2024-04-04 17:29:00 +02:00
Nathan Adams
6cca9bb3b7
chore: Use workspace version for clap
2024-04-04 17:29:00 +02:00
Nathan Adams
26df7d78c4
chore: Use workspace version for chrono
2024-04-04 17:29:00 +02:00
Nathan Adams
937664e737
chore: Use workspace version for bytemuck
2024-04-04 17:29:00 +02:00
Nathan Adams
8a390163d6
chore: Use workspace version for async-channel
2024-04-04 17:29:00 +02:00
Nathan Adams
8e4127aef6
chore: Use workspace version for anyhow
2024-04-04 17:29:00 +02:00
Nathan Adams
f18d890bea
frontend-utils: Move Bookmark from desktop
2024-04-04 11:16:50 +02:00
Nathan Adams
2b4cec664a
frontend-utils: Made ParseResult return a DocumentHolder directly
2024-04-04 11:16:50 +02:00
Nathan Adams
2bd28c9c1c
frontend-utils: Add a DocumentHolder<T> helper type, use it for preferences and bookmarks
2024-04-04 11:16:50 +02:00
Nathan Adams
5ed6115dcc
frontend-utils: Add new package and moved custom toml parsing utilities there
2024-04-04 11:16:50 +02:00
Crowdin Bot
51d91b2c17
chore: Update translations from Crowdin
2024-04-04 00:02:09 +02:00
sleepycatcoding
92f437ec15
desktop: Add storage backend preference
2024-04-03 23:44:27 +02:00
sleepycatcoding
9cab16eb68
desktop: use location instead of url
...
URL might be a bit misleading when you can also use local files as bookmarks.
2024-04-03 22:20:55 +02:00
sleepycatcoding
02a27db372
desktop: add bookmark add dialog
...
Now you can add bookmarks while not playing anything, fields are defaulted based on the current movie (if there is one).
2024-04-03 22:20:55 +02:00
sleepycatcoding
5cb9988183
desktop: custom bookmark names
...
Bookmark names can now be changed by the user, defaults to the URL file.
2024-04-03 22:20:55 +02:00
sleepycatcoding
231fbb7d66
desktop: redesign bookmark UI
...
lets be fair, the previous one was ugly + this one allows you to actually
change the URL!
2024-04-03 22:20:55 +02:00
sleepycatcoding
077cf7c77b
desktop: split PathOrUrlField into widgets module
...
Makes possible to reuse this element in bookmarks UI
2024-04-03 22:20:55 +02:00
sleepycatcoding
e30c866484
desktop: recreate bookmark array of tables if type is incorrect
2024-04-03 22:20:55 +02:00
sleepycatcoding
fb93ef9cb6
desktop: allow multiple bookmarks with the same URL
2024-04-03 22:20:55 +02:00
sleepycatcoding
e1f9b5e5df
desktop: add UI for bookmarks
2024-04-03 22:20:55 +02:00
sleepycatcoding
0b7b9eb0a1
desktop: add `bookmarks.toml` file for storing bookmark data
...
This is in a separate file to not create clutter in the main preferences.toml file.
2024-04-03 22:20:55 +02:00
sleepycatcoding
f657208860
desktop: Refactor preferences system to make it easier to reuse
...
The goal of this refactor is to make it easier to load other TOML files similarly how preferences are loaded currently.
2024-04-03 22:20:55 +02:00
Crowdin Bot
a8136c45e1
chore: Update translations from Crowdin
2024-04-03 09:19:19 +02:00
TÖRÖK Attila
9822e96b41
chore: Bump `egui` to `v0.27.2`
2024-04-03 08:01:53 +02:00
sleepycatcoding
6a74af5f6f
desktop: pop keys off of `ParseContext` regardless if parse succeeded
...
previously the keys were not popped off on some code paths,
resulting in incorrect diagnostics later down the road.
2024-04-01 23:15:42 +02:00
sleepycatcoding
fc4c2cb3a8
desktop: cleanup warning boilerplate from preferences reader
...
The current item path is now kept track of dynamically removing the need for a hardcoded warnings.
and the caller no longer has to call `result.add_warning` themselves (mostly).
2024-04-01 23:15:42 +02:00
Crowdin Bot
5677447576
chore: Update translations from Crowdin
2024-04-01 14:46:40 +02:00
sleepycatcoding
df7d95bf43
desktop: show translated string for currently selected language
2024-03-31 20:54:18 +02:00
TÖRÖK Attila
a59ec413ad
chore: Update `egui` to `v0.27.1`
2024-03-29 14:46:25 +01:00
TÖRÖK Attila
5b4f808769
chore: Update `egui` to `v0.27.0`
2024-03-29 10:02:52 +01:00
Kamil Jarosz
589e7bfb31
desktop: Prevent egui from consuming the Tab key
2024-03-27 00:40:24 +01:00
renovate[bot]
9dfc6dc224
fix(deps): update rust dependencies
2024-03-26 13:56:59 +01:00
Crowdin Bot
cea993b5ac
chore: Update translations from Crowdin
2024-03-26 13:19:21 +01:00
sleepycatcoding
d4e5e54dc0
desktop: Fix window title after closing the file
...
Previously the title showed the filename in the title even after the file
had been long closed.
2024-03-25 20:13:56 +01:00
Crowdin Bot
9793e3968d
chore: Update translations from Crowdin
2024-03-24 22:55:51 +01:00
Nathan Adams
ad34f04b7a
desktop: Make sure all backends are tried in the Preferences dialog
2024-03-24 21:04:09 +01:00
Nathan Adams
38f7443605
desktop: Try each graphics backend one-by-one until we have a result
2024-03-24 21:04:09 +01:00
Adrian Wielgosik
08157a056e
build: Fix redundant import warnings
2024-03-23 19:23:18 +01:00
renovate[bot]
d70560cb82
fix(deps): update rust dependencies
2024-03-22 11:10:59 +01:00
Crowdin Bot
65129a08da
chore: Update translations from Crowdin
2024-03-21 20:49:11 +01:00
TÖRÖK Attila
d9f17dac44
chore: Bump `image` to `v0.25`, without the `dxt` feature
2024-03-19 00:14:48 +01:00
TÖRÖK Attila
7a269c054d
fix(deps): update rust dependencies
2024-03-18 12:21:47 +01:00
Crowdin Bot
8345ace97e
chore: Update translations from Crowdin
2024-03-18 11:49:48 +01:00
Adrian Wielgosik
27cd08deeb
avm2: Provide an option to disable the optimizer
2024-03-16 22:40:15 +01:00
Crowdin Bot
fc8f4ef4cf
chore: Update translations from Crowdin
2024-03-15 20:30:28 +01:00
TÖRÖK Attila
3399662c76
desktop: Follow `Document` -> `DocumentMut` change in `toml_edit`
2024-03-14 16:45:29 +01:00
renovate[bot]
3f9f19b7ac
fix(deps): update rust dependencies
2024-03-14 16:45:29 +01:00
Colin Kinloch
f472bbc701
desktop: Use egui-winit clipboard
...
The `egui-winit` clipboard implementation provides a nice interface to
`smithay-clipboard` which correctly implements the core wayland
selection protocol. It uses `arboard` as a fallback for other platforms.
2024-03-13 23:30:15 +01:00
renovate[bot]
8d193f8944
fix(deps): update rust crate winit to 0.29.15
2024-03-13 23:07:24 +01:00
Crowdin Bot
a60d781fb4
chore: Update translations from Crowdin
2024-03-13 22:44:32 +01:00
Crowdin Bot
1a66916c6c
chore: Update translations from Crowdin
2024-03-13 08:06:34 +01:00
Colin Kinloch
787b6f5dfb
desktop: Make clipboard support optional
...
On wayland ruffle only supports `wlr-data-control-unstable-v1` which is
not intended to be supported by all compositors.
2024-03-12 20:32:23 +01:00
TÖRÖK Attila
aa834e6530
desktop: Turn off default features of `image`
2024-03-12 00:24:59 +01:00
Nathan Adams
eaab481dcc
desktop: Default RUST_LOG to warn,ruffle=info,avm_trace=info
2024-03-11 21:28:25 +01:00
Nathan Adams
a5fe7e1c81
desktop: Add log filename pattern (e.g. with timestamp) to preferences
2024-03-11 21:28:25 +01:00
Nathan Adams
6585ffdd28
desktop: Log to ruffle.log in addition to stdout
2024-03-11 21:28:25 +01:00
Daniel Williams
4927baf290
desktop: URL-decode the window title ( fix #15454 )
2024-03-11 16:54:56 +00:00
Crowdin Bot
60d7b14c59
chore: Update translations from Crowdin
2024-03-08 22:19:45 +01:00
Nathan Adams
6971a1aa5e
desktop: Persist volume to disk
2024-03-07 20:38:06 +01:00
Nathan Adams
e18055d351
desktop: Don't translate opengl, metal etc
2024-03-07 20:38:06 +01:00
Crowdin Bot
6fc7a1beaf
chore: Update translations from Crowdin
2024-03-07 11:39:50 +01:00
renovate[bot]
a916369f21
fix(deps): update rust dependencies
2024-03-06 21:58:40 +01:00
renovate[bot]
7201efdec1
fix(deps): update rust crate winit to 0.29.14
2024-03-06 16:55:52 +01:00
Kamil Jarosz
3d04971ae4
desktop: Make WinitAsyncExecutor thread-safe and prevent deadlocks
...
Not thread-safe WinitAsyncExecutor was wrapped with a Mutex, making
any access to the instance exclusive. It was problematic, because
when a task was awoken from within another task, it resulted in
a deadlock, because the mutex was not reentrant.
This patch makes WinitAsyncExecutor thread-safe and changes how tasks
are locked. Specifically, instead of locking all tasks, only
the currently executed task is being locked. This allows waking any
other task from within it.
2024-03-05 23:14:08 +01:00