diff --git a/Cargo.lock b/Cargo.lock index 0988e1f..34b50d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -760,6 +760,12 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + [[package]] name = "endi" version = "1.1.0" @@ -1985,6 +1991,16 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.26" @@ -2068,14 +2084,15 @@ dependencies = [ [[package]] name = "mlua" -version = "0.9.9" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d111deb18a9c9bd33e1541309f4742523bfab01d276bfa9a27519f6de9c11dc7" +checksum = "d3f763c1041eff92ffb5d7169968a327e1ed2ebfe425dac0ee5a35f29082534b" dependencies = [ "bstr", + "either", "mlua-sys", "num-traits", - "once_cell", + "parking_lot", "rustc-hash", ] @@ -2377,6 +2394,29 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + [[package]] name = "paste" version = "1.0.15" @@ -2867,6 +2907,12 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "security-framework" version = "2.11.1" diff --git a/Cargo.toml b/Cargo.toml index 4d43d18..f15a02b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -144,7 +144,7 @@ reqwest = { version = "0.12.15", default-features = false, features = ["default- # cairo lua-src = { version = "547.0.0", optional = true } -mlua = { version = "0.9.9", optional = true, features = ["luajit"] } +mlua = { version = "0.10.3", optional = true, features = ["luajit", "send"] } cairo-rs = { version = "0.18.5", optional = true, features = ["png"] } # clock diff --git a/src/modules/cairo.rs b/src/modules/cairo.rs index 7b88989..4ec85ec 100644 --- a/src/modules/cairo.rs +++ b/src/modules/cairo.rs @@ -160,9 +160,7 @@ impl Module for CairoModule { let ptr = unsafe { cr.clone().into_glib_ptr().cast() }; // mlua needs a valid return type, even if we don't return anything - if let Err(err) = - function.call::<_, Option>((id.as_str(), LightUserData(ptr))) - { + if let Err(err) = function.call::>((id.as_str(), LightUserData(ptr))) { if let Error::RuntimeError(message) = err { let message = message.split_once("]:").expect("to exist").1; error!("[lua runtime error] {}:{message}", path.display());