Fix/linux skia crashes (#966)
* fix: run hooks before early returns in cluster and gallery views * chore: upgrade freya to 0.5.0-beta.9 * chore: pin freya to 0.5.0-beta.10 branch for skia 0.103.2
This commit is contained in:
parent
c6361c7266
commit
2f5a64b97d
10 changed files with 115 additions and 78 deletions
126
Cargo.lock
generated
126
Cargo.lock
generated
|
|
@ -2253,8 +2253,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya"
|
name = "freya"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"freya-android",
|
"freya-android",
|
||||||
|
|
@ -2278,8 +2278,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-android"
|
name = "freya-android"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-components",
|
"freya-components",
|
||||||
"freya-core",
|
"freya-core",
|
||||||
|
|
@ -2291,8 +2291,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-animation"
|
name = "freya-animation"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"easer",
|
"easer",
|
||||||
"freya-core",
|
"freya-core",
|
||||||
|
|
@ -2300,8 +2300,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-borderless-plugin"
|
name = "freya-borderless-plugin"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
"freya-engine",
|
"freya-engine",
|
||||||
|
|
@ -2311,8 +2311,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-clipboard"
|
name = "freya-clipboard"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"copypasta",
|
"copypasta",
|
||||||
"freya-core",
|
"freya-core",
|
||||||
|
|
@ -2320,8 +2320,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-components"
|
name = "freya-components"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|
@ -2346,8 +2346,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-core"
|
name = "freya-core"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"async-io",
|
"async-io",
|
||||||
|
|
@ -2376,8 +2376,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-edit"
|
name = "freya-edit"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.13.2",
|
"bitflags 2.13.2",
|
||||||
"freya-clipboard",
|
"freya-clipboard",
|
||||||
|
|
@ -2390,16 +2390,16 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-engine"
|
name = "freya-engine"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-skia-safe",
|
"freya-skia-safe",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-markdown"
|
name = "freya-markdown"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-components",
|
"freya-components",
|
||||||
"freya-core",
|
"freya-core",
|
||||||
|
|
@ -2409,8 +2409,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-metrics-plugin"
|
name = "freya-metrics-plugin"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
"freya-engine",
|
"freya-engine",
|
||||||
|
|
@ -2420,8 +2420,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-query"
|
name = "freya-query"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
|
|
@ -2429,16 +2429,16 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-radio"
|
name = "freya-radio"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-router"
|
name = "freya-router"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
"freya-router-macro",
|
"freya-router-macro",
|
||||||
|
|
@ -2449,8 +2449,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-router-macro"
|
name = "freya-router-macro"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|
@ -2460,8 +2460,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-sdk"
|
name = "freya-sdk"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"freya-core",
|
"freya-core",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
|
@ -2469,9 +2469,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-skia-bindings"
|
name = "freya-skia-bindings"
|
||||||
version = "0.100.0-beta.1"
|
version = "0.103.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ab63f601c617af7bd05abdf71f504577f77760ef12b281f5ab06078d301a6636"
|
checksum = "423c6e5119a363d09120729908d478b6d906dcd7ae76e6b2b2e437d708d42ddf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bindgen",
|
"bindgen",
|
||||||
"cc",
|
"cc",
|
||||||
|
|
@ -2486,9 +2486,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-skia-safe"
|
name = "freya-skia-safe"
|
||||||
version = "0.100.0-beta.1"
|
version = "0.103.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "94035ce89b42c8c3b69a854904deea53b1a88d8e1654de270484767ba500cffc"
|
checksum = "76caec9c4cc139acd1d73016d63a782708693a54fffe6bc9a53112e2f710d22d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
"bitflags 2.13.2",
|
"bitflags 2.13.2",
|
||||||
|
|
@ -2499,9 +2499,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-skia-svg-macros"
|
name = "freya-skia-svg-macros"
|
||||||
version = "0.100.0-beta.1"
|
version = "0.103.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3b32021e23aabcfb098ad578b547569ebe246bb6658e94b0ae472ca0d5a50977"
|
checksum = "7f789a635e4ca6346ec08f71f02dd6778428887786f14267f7a3de1c98a44e18"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|
@ -2510,8 +2510,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-testing"
|
name = "freya-testing"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"freya-clipboard",
|
"freya-clipboard",
|
||||||
|
|
@ -2525,8 +2525,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freya-winit"
|
name = "freya-winit"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"accesskit_winit",
|
"accesskit_winit",
|
||||||
|
|
@ -3965,6 +3965,25 @@ dependencies = [
|
||||||
"vcpkg",
|
"vcpkg",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libxdo"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "00333b8756a3d28e78def82067a377de7fa61b24909000aeaa2b446a948d14db"
|
||||||
|
dependencies = [
|
||||||
|
"libxdo-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libxdo-sys"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "db23b9e7e2b7831bbd8aac0bbeeeb7b68cbebc162b227e7052e8e55829a09212"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"x11",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linux-raw-sys"
|
name = "linux-raw-sys"
|
||||||
version = "0.4.15"
|
version = "0.4.15"
|
||||||
|
|
@ -4199,6 +4218,7 @@ dependencies = [
|
||||||
"dpi",
|
"dpi",
|
||||||
"gtk",
|
"gtk",
|
||||||
"keyboard-types 0.7.0",
|
"keyboard-types 0.7.0",
|
||||||
|
"libxdo",
|
||||||
"objc2 0.6.4",
|
"objc2 0.6.4",
|
||||||
"objc2-app-kit 0.3.2",
|
"objc2-app-kit 0.3.2",
|
||||||
"objc2-core-foundation",
|
"objc2-core-foundation",
|
||||||
|
|
@ -5404,8 +5424,8 @@ checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pathgraph"
|
name = "pathgraph"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "percent-encoding"
|
name = "percent-encoding"
|
||||||
|
|
@ -5899,8 +5919,8 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ragnarok"
|
name = "ragnarok"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"euclid",
|
"euclid",
|
||||||
"hotpath",
|
"hotpath",
|
||||||
|
|
@ -7758,8 +7778,8 @@ checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "torin"
|
name = "torin"
|
||||||
version = "0.5.0-rc.8"
|
version = "0.5.0-beta.10"
|
||||||
source = "git+https://github.com/Polyfrost/freya?rev=2e4a11ec569d72ef1a809e9365548daa3cc5f6b5#2e4a11ec569d72ef1a809e9365548daa3cc5f6b5"
|
source = "git+https://github.com/marc2332/freya?rev=ed0a7c3e530e4e23334f2333c408198a3d79c42e#ed0a7c3e530e4e23334f2333c408198a3d79c42e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"euclid",
|
"euclid",
|
||||||
"itertools",
|
"itertools",
|
||||||
|
|
@ -9014,6 +9034,16 @@ version = "0.6.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
|
checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "x11"
|
||||||
|
version = "2.21.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"pkg-config",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "x11-clipboard"
|
name = "x11-clipboard"
|
||||||
version = "0.9.3"
|
version = "0.9.3"
|
||||||
|
|
|
||||||
|
|
@ -144,10 +144,10 @@ syn = {version = "=3.0.6"}
|
||||||
thiserror = {version = "=2.0.21"}
|
thiserror = {version = "=2.0.21"}
|
||||||
|
|
||||||
# ui
|
# ui
|
||||||
freya = {git = "https://github.com/Polyfrost/freya", rev = "2e4a11ec569d72ef1a809e9365548daa3cc5f6b5", features = ["engine", "winit", "router", "remote-asset", "sdk-tokio", "query", "radio", "borderless", "titlebar", "tray", "metrics"]}
|
freya = {git = "https://github.com/marc2332/freya", rev = "ed0a7c3e530e4e23334f2333c408198a3d79c42e", features = ["engine", "winit", "router", "remote-asset", "sdk-tokio", "query", "radio", "borderless", "titlebar", "tray", "metrics"]}
|
||||||
freya-core = {git = "https://github.com/Polyfrost/freya", rev = "2e4a11ec569d72ef1a809e9365548daa3cc5f6b5" }
|
freya-core = {git = "https://github.com/marc2332/freya", rev = "ed0a7c3e530e4e23334f2333c408198a3d79c42e"}
|
||||||
freya-testing = {git = "https://github.com/Polyfrost/freya", rev = "2e4a11ec569d72ef1a809e9365548daa3cc5f6b5" }
|
freya-testing = {git = "https://github.com/marc2332/freya", rev = "ed0a7c3e530e4e23334f2333c408198a3d79c42e"}
|
||||||
freya-skia-safe = "=0.100.0-beta.1" # required for the SKSL player renderer
|
freya-skia-safe = "=0.103.2" # required for the SKSL player renderer
|
||||||
image = {version = "=0.25.10", default-features = false, features = ["png", "jpeg"]}
|
image = {version = "=0.25.10", default-features = false, features = ["png", "jpeg"]}
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,8 @@ impl LayoutExt for Button {
|
||||||
|
|
||||||
impl ContainerExt for Button {}
|
impl ContainerExt for Button {}
|
||||||
|
|
||||||
|
impl DecorationExt for Button {}
|
||||||
|
|
||||||
impl StyleExt for Button {
|
impl StyleExt for Button {
|
||||||
fn get_style(&mut self) -> &mut StyleState {
|
fn get_style(&mut self) -> &mut StyleState {
|
||||||
&mut self.style
|
&mut self.style
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ impl Component for PieChart {
|
||||||
let values = self.values.clone();
|
let values = self.values.clone();
|
||||||
let hit_values = self.values.clone();
|
let hit_values = self.values.clone();
|
||||||
|
|
||||||
let render_cb = RenderCallback::new(move |ctx: &mut CanvasContext| {
|
let render_cb = RenderCallback::new(move |ctx: &mut FillRenderContext| {
|
||||||
let (w, h) = (ctx.size.width, ctx.size.height);
|
let (w, h) = (ctx.size.width, ctx.size.height);
|
||||||
if w <= 0.0 || h <= 0.0 {
|
if w <= 0.0 || h <= 0.0 {
|
||||||
return;
|
return;
|
||||||
|
|
@ -182,8 +182,13 @@ impl Component for PieChart {
|
||||||
.height(Size::fill())
|
.height(Size::fill())
|
||||||
.position(Position::new_absolute())
|
.position(Position::new_absolute())
|
||||||
.interactive(false)
|
.interactive(false)
|
||||||
// Childless canvas auto-sizes to 0x0 without an explicit size
|
// Childless rect auto-sizes to 0x0 without an explicit size
|
||||||
.child(canvas(render_cb).width(Size::fill()).height(Size::fill())),
|
.child(
|
||||||
|
rect()
|
||||||
|
.width(Size::fill())
|
||||||
|
.height(Size::fill())
|
||||||
|
.background(render_cb),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
rect()
|
rect()
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ impl Component for PlayerModel {
|
||||||
|
|
||||||
let effect = player_effect();
|
let effect = player_effect();
|
||||||
|
|
||||||
let render_cb = RenderCallback::new(move |ctx: &mut CanvasContext| {
|
let render_cb = RenderCallback::new(move |ctx: &mut FillRenderContext| {
|
||||||
let (Some(effect), Some(skin)) = (&effect, &skin_shader) else {
|
let (Some(effect), Some(skin)) = (&effect, &skin_shader) else {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
@ -155,18 +155,12 @@ impl Component for PlayerModel {
|
||||||
ctx.canvas.draw_rect(SkRect::new(0.0, 0.0, w, h), &paint);
|
ctx.canvas.draw_rect(SkRect::new(0.0, 0.0, w, h), &paint);
|
||||||
});
|
});
|
||||||
|
|
||||||
// `canvas` carries no style data, so the cursor rides on a wrapper `rect` that
|
|
||||||
// covers exactly the same area
|
|
||||||
rect()
|
rect()
|
||||||
|
.key(src_ptr as u64)
|
||||||
.width(self.width.clone())
|
.width(self.width.clone())
|
||||||
.height(self.height.clone())
|
.height(self.height.clone())
|
||||||
.cursor(CursorIcon::Grab)
|
.cursor(CursorIcon::Grab)
|
||||||
.child(
|
.background(render_cb)
|
||||||
canvas(render_cb)
|
|
||||||
.key(src_ptr as u64)
|
|
||||||
.width(Size::fill())
|
|
||||||
.height(Size::fill()),
|
|
||||||
)
|
|
||||||
.on_pointer_down(move |e: Event<PointerEventData>| {
|
.on_pointer_down(move |e: Event<PointerEventData>| {
|
||||||
let loc = e.global_location();
|
let loc = e.global_location();
|
||||||
drag.set(Some((loc.x as f32, loc.y as f32, yaw(), pitch())));
|
drag.set(Some((loc.x as f32, loc.y as f32, yaw(), pitch())));
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,8 @@ impl Component for ScreenshotViewer {
|
||||||
move || start
|
move || start
|
||||||
});
|
});
|
||||||
let mut menu = use_state(|| None::<(f32, f32)>);
|
let mut menu = use_state(|| None::<(f32, f32)>);
|
||||||
|
let action = use_screenshot_action();
|
||||||
|
let dispatch = use_dispatch();
|
||||||
|
|
||||||
if len == 0 {
|
if len == 0 {
|
||||||
return rect().into_element();
|
return rect().into_element();
|
||||||
|
|
@ -52,9 +54,6 @@ impl Component for ScreenshotViewer {
|
||||||
let idx = (*index.read()).min(len - 1);
|
let idx = (*index.read()).min(len - 1);
|
||||||
let info = shots[idx].clone();
|
let info = shots[idx].clone();
|
||||||
|
|
||||||
let action = use_screenshot_action();
|
|
||||||
let dispatch = use_dispatch();
|
|
||||||
|
|
||||||
let close = self.on_close.clone();
|
let close = self.on_close.clone();
|
||||||
let scrim_close = self.on_close.clone();
|
let scrim_close = self.on_close.clone();
|
||||||
let delete_close = self.on_close.clone();
|
let delete_close = self.on_close.clone();
|
||||||
|
|
|
||||||
|
|
@ -381,7 +381,7 @@ impl Component for ParallaxArt {
|
||||||
let parallax_enabled = self.parallax_enabled;
|
let parallax_enabled = self.parallax_enabled;
|
||||||
let fade_opacity = self.fade_opacity;
|
let fade_opacity = self.fade_opacity;
|
||||||
|
|
||||||
let render_cb = RenderCallback::new(move |ctx: &mut CanvasContext| {
|
let render_cb = RenderCallback::new(move |ctx: &mut FillRenderContext| {
|
||||||
let Some(image) = &image else {
|
let Some(image) = &image else {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
@ -479,10 +479,11 @@ impl Component for ParallaxArt {
|
||||||
.layer(Layer::Relative(0))
|
.layer(Layer::Relative(0))
|
||||||
.opacity(fade_opacity)
|
.opacity(fade_opacity)
|
||||||
.child(
|
.child(
|
||||||
canvas(render_cb)
|
rect()
|
||||||
.key(src_ptr as u64)
|
.key(src_ptr as u64)
|
||||||
.width(Size::fill())
|
.width(Size::fill())
|
||||||
.height(Size::fill()),
|
.height(Size::fill())
|
||||||
|
.background(render_cb),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -158,13 +158,13 @@ impl Component for GalleryViewer {
|
||||||
move || start
|
move || start
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let idx = (*index.read()).min(len.saturating_sub(1));
|
||||||
|
let query = use_cached_image(self.images.get(idx).map(|i| i.url.clone()), FULL_EDGE);
|
||||||
|
|
||||||
if len == 0 {
|
if len == 0 {
|
||||||
return rect().into_element();
|
return rect().into_element();
|
||||||
}
|
}
|
||||||
let idx = (*index.read()).min(len - 1);
|
|
||||||
let image = self.images[idx].clone();
|
let image = self.images[idx].clone();
|
||||||
|
|
||||||
let query = use_cached_image(Some(image.url.clone()), FULL_EDGE);
|
|
||||||
let loaded = loaded_image(Some(&image.url), &query);
|
let loaded = loaded_image(Some(&image.url), &query);
|
||||||
|
|
||||||
let close = self.on_close.clone();
|
let close = self.on_close.clone();
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,12 @@ impl Component for ClusterOverview {
|
||||||
fn render(&self) -> impl IntoElement {
|
fn render(&self) -> impl IntoElement {
|
||||||
let cluster_id = self.cluster_id;
|
let cluster_id = self.cluster_id;
|
||||||
|
|
||||||
|
let query = use_cluster_analytics(cluster_id);
|
||||||
|
|
||||||
let Some(cluster) = use_cluster(cluster_id) else {
|
let Some(cluster) = use_cluster(cluster_id) else {
|
||||||
return cluster_content().child(cluster_not_found()).into_element();
|
return cluster_content().child(cluster_not_found()).into_element();
|
||||||
};
|
};
|
||||||
|
|
||||||
let query = use_cluster_analytics(cluster_id);
|
|
||||||
let analytics = try_cluster_analytics(&query);
|
let analytics = try_cluster_analytics(&query);
|
||||||
|
|
||||||
let body: Element = match &analytics {
|
let body: Element = match &analytics {
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,11 @@ pub struct ClusterScreenshots {
|
||||||
|
|
||||||
impl Component for ClusterScreenshots {
|
impl Component for ClusterScreenshots {
|
||||||
fn render(&self) -> impl IntoElement {
|
fn render(&self) -> impl IntoElement {
|
||||||
let Some(cluster) = use_cluster(self.cluster_id) else {
|
let cluster = use_cluster(self.cluster_id);
|
||||||
return cluster_not_found();
|
let folder = cluster
|
||||||
};
|
.as_ref()
|
||||||
let folder = cluster.game_dir().ok().map(|d| d.join("screenshots"));
|
.and_then(|c| c.game_dir().ok())
|
||||||
|
.map(|d| d.join("screenshots"));
|
||||||
|
|
||||||
let query = use_cluster_screenshots(self.cluster_id);
|
let query = use_cluster_screenshots(self.cluster_id);
|
||||||
// Otherwise a screenshot taken in game only shows up on the next visit
|
// Otherwise a screenshot taken in game only shows up on the next visit
|
||||||
|
|
@ -57,6 +58,10 @@ impl Component for ClusterScreenshots {
|
||||||
let grid_width = use_state(|| 0f32);
|
let grid_width = use_state(|| 0f32);
|
||||||
let mut menu = use_state(|| None::<(f32, f32, PathBuf)>);
|
let mut menu = use_state(|| None::<(f32, f32, PathBuf)>);
|
||||||
|
|
||||||
|
if cluster.is_none() {
|
||||||
|
return cluster_not_found();
|
||||||
|
}
|
||||||
|
|
||||||
let order: Vec<PathBuf> = shots.iter().map(|s| s.path.clone()).collect();
|
let order: Vec<PathBuf> = shots.iter().map(|s| s.path.clone()).collect();
|
||||||
let selected = selection.selected_in(&order);
|
let selected = selection.selected_in(&order);
|
||||||
let editing = selection.is_active();
|
let editing = selection.is_active();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue