mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
chore(deps): update dependencies, bump parking_lot, rusqlite, gettext-rs
Refresh Cargo.lock to the newest compatible versions and move three crates to their next minor release: - parking_lot 0.12 -> 0.13 - rusqlite 0.40 -> 0.41 (newer bundled SQLite) - gettext-rs 0.7 -> 0.8 gettext-rs 0.8 marks setlocale as unsafe; the three calls in i18n.rs run before any thread starts, the same precondition the set_var calls next to them already state. rustc 1.99 deprecates AtomicX::fetch_update in favour of try_update (stable since 1.95, below the 1.96 minimum), which failed `clippy -D warnings` on main. Rename the two uses so clippy passes without `-A deprecated`. The open Dependabot alerts for zip (< 9.0.5) and rustls (< 0.23.46) are already resolved on main by #69 (zip 9.2.0, rustls 0.23.46).
This commit is contained in:
1 parent
c4bce50d35
commit
a06a8150fb
6 files changed
+393
-403
No files matched your search
@@ -110,7 +110,7 @@ struct ControlHandlerPermit;
|
||||
impl ControlHandlerPermit {
|
||||
fn acquire() -> Option<Self> {
|
||||
ACTIVE_CONTROL_HANDLERS
|
||||
.fetch_update(Ordering::AcqRel, Ordering::Acquire, |active| {
|
||||
.try_update(Ordering::AcqRel, Ordering::Acquire, |active| {
|
||||
(active < MAX_CONTROL_HANDLERS).then_some(active + 1)
|
||||
})
|
||||
.ok()
|
||||
|
||||
@@ -1344,7 +1344,7 @@ impl Core {
|
||||
let next = |current| if current == u64::MAX { 1 } else { current + 1 };
|
||||
let previous = self
|
||||
.file_thumb_generation
|
||||
.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
|
||||
.try_update(Ordering::SeqCst, Ordering::SeqCst, |current| {
|
||||
Some(next(current))
|
||||
})
|
||||
.expect("generation update always succeeds");
|
||||
|
||||
@@ -40,4 +40,4 @@ pangocairo = "0.22"
|
||||
# Map tiles for the opt-in online map. The same build proton-sdk already pulls in.
|
||||
reqwest = { version = "0.13", default-features = false, features = ["rustls", "webpki-roots"] }
|
||||
# The system libintl (glibc) rather than a bundled gettext build.
|
||||
gettext-rs = { version = "0.7", features = ["gettext-system"] }
|
||||
gettext-rs = { version = "0.8", features = ["gettext-system"] }
|
||||
@@ -48,7 +48,8 @@ pub(crate) fn init() {
|
||||
.ok()
|
||||
.and_then(|dirs| dirs.load_config().language)
|
||||
.filter(|code| LANGUAGES.iter().any(|(known, _)| known == code));
|
||||
gettextrs::setlocale(LocaleCategory::LcAll, "");
|
||||
// SAFETY: `init` runs at the top of `main`, before any other thread exists.
|
||||
unsafe { gettextrs::setlocale(LocaleCategory::LcAll, "") };
|
||||
if let Some(code) = language {
|
||||
apply_language(&code);
|
||||
}
|
||||
@@ -97,14 +98,17 @@ pub(crate) fn country_name(code: &str) -> String {
|
||||
fn apply_language(code: &str) {
|
||||
// SAFETY: `init` runs at the top of `main`, before any other thread exists.
|
||||
unsafe { std::env::set_var("LANGUAGE", code) };
|
||||
let current = gettextrs::setlocale(LocaleCategory::LcMessages, "")
|
||||
// SAFETY: as above, still single-threaded.
|
||||
let current = unsafe { gettextrs::setlocale(LocaleCategory::LcMessages, "") }
|
||||
.map(|name| String::from_utf8_lossy(&name).into_owned())
|
||||
.unwrap_or_default();
|
||||
if !is_c_locale(¤t) {
|
||||
return;
|
||||
}
|
||||
for candidate in message_locales(code) {
|
||||
if gettextrs::setlocale(LocaleCategory::LcMessages, candidate.as_str()).is_some() {
|
||||
// SAFETY: as above, still single-threaded.
|
||||
if unsafe { gettextrs::setlocale(LocaleCategory::LcMessages, candidate.as_str()) }.is_some()
|
||||
{
|
||||
// SAFETY: as above, still single-threaded.
|
||||
unsafe { std::env::set_var("LC_MESSAGES", &candidate) };
|
||||
return;
|
||||
|
||||
Reference in new issue
Block a user