mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-29 20:56:57 +02:00
RommViewController: Dispose properly potential pushed view controller.
This commit is contained in:
@@ -38,6 +38,9 @@
|
||||
|
||||
// the user taps on a member thumbnail
|
||||
MXRoomMember *selectedRoomMember;
|
||||
|
||||
// Keep reference on potential pushed view controller to release it correctly
|
||||
id pushedViewController;
|
||||
}
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UINavigationItem *roomNavItem;
|
||||
@@ -104,6 +107,13 @@
|
||||
// Note: We have to wait for viewDidAppear before updating growingTextView (viewWillAppear is too early)
|
||||
self.inputToolbarView.textMessage = self.roomDataSource.partialTextMessage;
|
||||
}
|
||||
|
||||
if (pushedViewController) {
|
||||
if ([pushedViewController respondsToSelector:@selector(destroy)]) {
|
||||
[pushedViewController destroy];
|
||||
}
|
||||
pushedViewController = nil;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidDisappear:(BOOL)animated {
|
||||
@@ -423,10 +433,13 @@
|
||||
#pragma mark - Segues
|
||||
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
|
||||
pushedViewController = [segue destinationViewController];
|
||||
|
||||
if ([[segue identifier] isEqualToString:@"showMemberList"]) {
|
||||
|
||||
if ([[segue destinationViewController] isKindOfClass:[MXKRoomMemberListViewController class]]) {
|
||||
MXKRoomMemberListViewController* membersController = (MXKRoomMemberListViewController*)[segue destinationViewController];
|
||||
if ([pushedViewController isKindOfClass:[MXKRoomMemberListViewController class]]) {
|
||||
MXKRoomMemberListViewController* membersController = (MXKRoomMemberListViewController*)pushedViewController;
|
||||
|
||||
// Dismiss keyboard
|
||||
[self dismissKeyboard];
|
||||
@@ -435,7 +448,7 @@
|
||||
[membersController displayList:membersDataSource];
|
||||
}
|
||||
} else if ([[segue identifier] isEqualToString:@"showMemberDetails"]) {
|
||||
MemberViewController* controller = [segue destinationViewController];
|
||||
MemberViewController* controller = pushedViewController;
|
||||
|
||||
if (selectedRoomMember) {
|
||||
controller.mxRoomMember = selectedRoomMember;
|
||||
|
||||
Reference in New Issue
Block a user