From 4370be282d33471249db8e5a04ec6c57728856d7 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Fri, 27 Sep 2024 02:40:21 +0200 Subject: [PATCH] cargo: Drop two dependencies --- Cargo.lock | 2 -- Cargo.toml | 2 -- src/decoder.rs | 14 ++++++++------ src/widgets/image.rs | 1 - src/widgets/image/loading.rs | 4 ++-- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4e3f2ac..b674e1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1307,8 +1307,6 @@ dependencies = [ "async-channel", "async-lock", "cairo-rs", - "futures-channel", - "futures-lite", "gettext-rs", "gettext-sys", "gio", diff --git a/Cargo.toml b/Cargo.toml index 1fe4f57..dc2a5cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,8 +20,6 @@ ashpd = { version = "0.9.1", features = ["gtk4_wayland"] } async-channel = "2.1.0" async-lock = "3.4.0" cairo-rs = { version = "0.20.0", features = ["pdf"] } -futures-channel = "0.3.25" -futures-lite = "2.1.0" gettext-rs = { version = "0.7.0", features = ["gettext-system"] } gettext-sys = { version = "0.21.3", features = ["gettext-system"] } gio = { version = "0.20.0", features = ["v2_74"] } diff --git a/src/decoder.rs b/src/decoder.rs index 11906cc..1827bf6 100644 --- a/src/decoder.rs +++ b/src/decoder.rs @@ -24,9 +24,9 @@ pub mod tiling; use std::sync::Arc; use anyhow::Result; +use async_channel as mpsc; pub use formats::RSVG_MAX_SIZE; use formats::*; -use futures_channel::mpsc; use self::tiling::SharedFrameBuffer; use crate::deps::*; @@ -45,7 +45,7 @@ pub struct TileRequest { #[derive(Debug, Clone)] /// Signals update to the renderer pub struct UpdateSender { - sender: mpsc::UnboundedSender, + sender: mpsc::Sender, } #[derive(Debug)] @@ -97,10 +97,12 @@ impl glib::value::ToValueOptional for DecoderError { impl UpdateSender { pub fn send(&self, update: DecoderUpdate) { - let result = self.sender.unbounded_send(update); + let result = self.sender.force_send(update); - if let Err(err) = result { - log::error!("Failed to send update: {err}"); + match result { + Err(err) => log::error!("Failed to send update: {err}"), + Ok(Some(msg)) => log::error!("Unexpectedly replaced the message {msg:?}"), + _ => {} } } @@ -159,7 +161,7 @@ impl Decoder { file: gio::File, mime_type: Option, tiles: Arc, - ) -> (Self, mpsc::UnboundedReceiver) { + ) -> (Self, mpsc::Receiver) { let (sender, receiver) = mpsc::unbounded(); let update_sender = UpdateSender { sender }; diff --git a/src/widgets/image.rs b/src/widgets/image.rs index 373da7b..fa229c3 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -48,7 +48,6 @@ use std::sync::{Arc, LazyLock}; use adw::prelude::*; use adw::subclass::prelude::*; -use futures_lite::StreamExt; use glib::subclass::Signal; use glib::{Properties, SignalGroup}; diff --git a/src/widgets/image/loading.rs b/src/widgets/image/loading.rs index b7a6d75..b3ff13b 100644 --- a/src/widgets/image/loading.rs +++ b/src/widgets/image/loading.rs @@ -324,12 +324,12 @@ impl LpImage { // Reset background color for reloads imp.set_background_color(None); - let (decoder, mut decoder_update) = + let (decoder, decoder_update) = Decoder::new(file.clone(), self.metadata().mime_type(), tiles.clone()).await; let weak_obj = self.downgrade(); glib::spawn_future_local(async move { - while let Some(update) = decoder_update.next().await { + while let Ok(update) = decoder_update.recv().await { if let Some(obj) = weak_obj.upgrade() { obj.imp().update(update); }