diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index c09fafb54..1856333f6 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -401,7 +401,7 @@ pub unsafe extern "C" fn dc_event_get_data2_int(event: *mut dc_event_t) -> libc: | Event::MsgRead { msg_id, .. } => msg_id.to_u32() as libc::c_int, Event::SecurejoinInviterProgress { progress, .. } | Event::SecurejoinJoinerProgress { progress, .. } => *progress as libc::c_int, - Event::ChatEphemeralTimerModified { timer, .. } => *timer as libc::c_int, + Event::ChatEphemeralTimerModified { timer, .. } => timer.to_u32() as libc::c_int, } } diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index bf07bd0e7..9dacc1a87 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -674,11 +674,6 @@ async fn add_parts( ) .await; } - - context.emit_event(Event::ChatEphemeralTimerModified { - chat_id: *chat_id, - timer: timer.to_u32(), - }); } Err(err) => { warn!( diff --git a/src/ephemeral.rs b/src/ephemeral.rs index 32b9a7d50..0fb311ae7 100644 --- a/src/ephemeral.rs +++ b/src/ephemeral.rs @@ -176,6 +176,11 @@ impl ChatId { paramsv![timer, self], ) .await?; + + context.emit_event(Event::ChatEphemeralTimerModified { + chat_id: self, + timer, + }); Ok(()) } diff --git a/src/events.rs b/src/events.rs index 828e97e4d..c58b9183d 100644 --- a/src/events.rs +++ b/src/events.rs @@ -5,6 +5,7 @@ use async_std::sync::{channel, Receiver, Sender, TrySendError}; use strum::EnumProperty; use crate::chat::ChatId; +use crate::ephemeral::Timer as EphemeralTimer; use crate::message::MsgId; #[derive(Debug)] @@ -197,7 +198,10 @@ pub enum Event { /// Chat ephemeral timer changed. #[strum(props(id = "2021"))] - ChatEphemeralTimerModified { chat_id: ChatId, timer: u32 }, + ChatEphemeralTimerModified { + chat_id: ChatId, + timer: EphemeralTimer, + }, /// Contact(s) created, renamed, blocked or deleted. ///