diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index 8d2603129..3a51867b1 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -1620,9 +1620,7 @@ pub unsafe extern "C" fn dc_stop_ongoing_process(context: *mut dc_context_t) { return; } let ffi_context = &*context; - ffi_context - .with_inner(|ctx| ctx.stop_ongoing()) - .ok(); + ffi_context.with_inner(|ctx| ctx.stop_ongoing()).ok(); } #[no_mangle] diff --git a/src/context.rs b/src/context.rs index 82ec37c07..3412015e7 100644 --- a/src/context.rs +++ b/src/context.rs @@ -269,11 +269,15 @@ impl Context { } pub fn shall_stop_ongoing(&self) -> bool { - self.running_state.clone().read().unwrap().shall_stop_ongoing + self.running_state + .clone() + .read() + .unwrap() + .shall_stop_ongoing } /******************************************************************************* - * UI chat/message related API + * UI chat/message related API ******************************************************************************/ pub fn get_info(&self) -> HashMap<&'static str, String> { diff --git a/src/imex.rs b/src/imex.rs index 375c977a1..7b15f8add 100644 --- a/src/imex.rs +++ b/src/imex.rs @@ -114,44 +114,44 @@ pub fn initiate_key_transfer(context: &Context) -> Result { let res = do_initiate_key_transfer(context); context.free_ongoing(); res -} +} fn do_initiate_key_transfer(context: &Context) -> Result { let mut msg: Message; let setup_code = create_setup_code(context); /* this may require a keypair to be created. this may take a second ... */ ensure!(!context.shall_stop_ongoing(), "canceled"); - let setup_file_content = render_setup_file(context, &setup_code)?; - /* encrypting may also take a while ... */ - ensure!(!context.shall_stop_ongoing(), "canceled"); - let setup_file_name = context.new_blob_file( - "autocrypt-setup-message.html", - setup_file_content.as_bytes(), - )?; - - let chat_id = chat::create_by_contact_id(context, 1)?; - msg = Message::default(); - msg.type_0 = Viewtype::File; - msg.param.set(Param::File, setup_file_name); + let setup_file_content = render_setup_file(context, &setup_code)?; + /* encrypting may also take a while ... */ + ensure!(!context.shall_stop_ongoing(), "canceled"); + let setup_file_name = context.new_blob_file( + "autocrypt-setup-message.html", + setup_file_content.as_bytes(), + )?; - msg.param - .set(Param::MimeType, "application/autocrypt-setup"); - msg.param.set_int(Param::Cmd, 6); - msg.param - .set_int(Param::ForcePlaintext, DC_FP_NO_AUTOCRYPT_HEADER); + let chat_id = chat::create_by_contact_id(context, 1)?; + msg = Message::default(); + msg.type_0 = Viewtype::File; + msg.param.set(Param::File, setup_file_name); - ensure!(!context.shall_stop_ongoing(), "canceled"); - let msg_id = chat::send_msg(context, chat_id, &mut msg)?; - info!(context, "Wait for setup message being sent ...",); - while !context.shall_stop_ongoing() { - std::thread::sleep(std::time::Duration::from_secs(1)); - if let Ok(msg) = Message::load_from_db(context, msg_id) { - if msg.is_sent() { - info!(context, "... setup message sent.",); - break; - } - } - } + msg.param + .set(Param::MimeType, "application/autocrypt-setup"); + msg.param.set_int(Param::Cmd, 6); + msg.param + .set_int(Param::ForcePlaintext, DC_FP_NO_AUTOCRYPT_HEADER); + + ensure!(!context.shall_stop_ongoing(), "canceled"); + let msg_id = chat::send_msg(context, chat_id, &mut msg)?; + info!(context, "Wait for setup message being sent ...",); + while !context.shall_stop_ongoing() { + std::thread::sleep(std::time::Duration::from_secs(1)); + if let Ok(msg) = Message::load_from_db(context, msg_id) { + if msg.is_sent() { + info!(context, "... setup message sent.",); + break; + } + } + } Ok(setup_code) } @@ -598,7 +598,10 @@ fn add_files_to_export(context: &Context, dest_path_filename: &PathBuf) -> Resul let mut processed_files_cnt = 0; for entry in dir_handle { let entry = entry?; - ensure!(!context.shall_stop_ongoing(), "canceled during export-files"); + ensure!( + !context.shall_stop_ongoing(), + "canceled during export-files" + ); processed_files_cnt += 1; let permille = max(min(processed_files_cnt * 1000 / total_files_cnt, 990), 10); context.call_cb(Event::ImexProgress(permille)); diff --git a/src/securejoin.rs b/src/securejoin.rs index 5e76a61b9..9bb48275c 100644 --- a/src/securejoin.rs +++ b/src/securejoin.rs @@ -156,7 +156,7 @@ pub fn dc_join_securejoin(context: &Context, qr: &str) -> u32 { bob.qr_scan = None; if ongoing_allocated { - context.free_ongoing(); + context.free_ongoing(); } ret_chat_id as u32 };