diff --git a/Riot/Modules/MatrixKit/Models/Room/MXKRoomDataSource.m b/Riot/Modules/MatrixKit/Models/Room/MXKRoomDataSource.m index e0664c9dd..3e6318bab 100644 --- a/Riot/Modules/MatrixKit/Models/Room/MXKRoomDataSource.m +++ b/Riot/Modules/MatrixKit/Models/Room/MXKRoomDataSource.m @@ -1075,8 +1075,11 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) { } // Register a listener to handle redaction which can affect live and past timelines + MXWeakify(self); redactionListener = [_timeline listenToEventsOfTypes:@[kMXEventTypeStringRoomRedaction] onEvent:^(MXEvent *redactionEvent, MXTimelineDirection direction, MXRoomState *roomState) { + MXStrongifyAndReturnIfNil(self); + // Consider only live redaction events if (direction == MXTimelineDirectionForwards) { diff --git a/changelog.d/5058.bugfix b/changelog.d/5058.bugfix new file mode 100644 index 000000000..8254bddd2 --- /dev/null +++ b/changelog.d/5058.bugfix @@ -0,0 +1 @@ +MXKRoomDataSource: Fix retain cycle