From ac4698f0d660aad5c0ca02eef6011551da3ba278 Mon Sep 17 00:00:00 2001 From: Devin R Date: Fri, 22 May 2020 21:29:51 -0400 Subject: [PATCH] base_client: only swap prev_content if outer is None --- matrix_sdk_base/src/client.rs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/matrix_sdk_base/src/client.rs b/matrix_sdk_base/src/client.rs index dfe104ca..50107e81 100644 --- a/matrix_sdk_base/src/client.rs +++ b/matrix_sdk_base/src/client.rs @@ -85,22 +85,15 @@ fn deserialize_prev_content(event: &EventJson) -> Option { - member.prev_content = prev.deserialize().ok(); - Some(EventJson::from(ev)) - } - _ => None, - } - } else { - None + let mut ev = event.deserialize().ok()?; + match &mut ev { + RoomEvent::RoomMember(ref mut member) if member.prev_content.is_none() => { + member.prev_content = prev_content.deserialize().ok(); + Some(EventJson::from(ev)) } - } else { - None + _ => None, } }