diff --git a/Cargo.lock b/Cargo.lock index 41cdf581a0..2ad5caef89 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2752,9 +2752,8 @@ dependencies = [ [[package]] name = "fontconfig-parser" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" +version = "0.5.7" +source = "git+https://github.com/Riey/fontconfig-parser?rev=f7d13a779e6ee282ce75acbc00a1270c0350e0c2#f7d13a779e6ee282ce75acbc00a1270c0350e0c2" dependencies = [ "roxmltree", ] diff --git a/Cargo.toml b/Cargo.toml index e0342b7591..5e6696adba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -286,3 +286,14 @@ opt-level = 2 [features] trezor = [] default = ["trezor"] + +[patch.crates-io] +# Using fontconfig-parser v0.5.8 completely breaks UI in node-gui on Linux - most of the text disappears and the few +# characters that remain have broken spacing, so we force the usage of v0.5.7 via "patch". +# Note: the commit is called "Bump version" and it's where the version was bumped to "0.5.7"; it is the last "good" +# revision. The following ("bad") revision belongs to the PR https://github.com/Riey/fontconfig-parser/pull/11 which +# claims to fix certain issues. So it's possible that fontconfig-parser v0.5.8 is actually good, but a dependent crate +# uses it incorrectly (so v0.5.7 works only because several bugs cancel each other out). The current dependency chain +# is fontconfig-parser <- fontdb <- cosmic-text <- various "iced" crates. +# TODO: investigate this further. +fontconfig-parser = { git = "https://github.com/Riey/fontconfig-parser", rev = "f7d13a779e6ee282ce75acbc00a1270c0350e0c2" }