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, } }