From 6b8f4c7dde0aed4561213f6e57b81b1029ca8cb3 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 16 Nov 2017 15:59:26 -0500 Subject: [PATCH] Dismiss menu controller if message cell is hidden or recycled. --- .../ConversationView/Cells/OWSMessageCell.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m index 64f099314..a2b65564e 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageCell.m @@ -1107,7 +1107,7 @@ NS_ASSUME_NONNULL_BEGIN [self.expirationTimerView removeFromSuperview]; self.expirationTimerView = nil; - self.isPresentingMenuController = NO; + [self hideMenuControllerIfNecessary]; } #pragma mark - Notifications @@ -1131,6 +1131,8 @@ NS_ASSUME_NONNULL_BEGIN } } else { [self.expirationTimerView clearAnimations]; + + [self hideMenuControllerIfNecessary]; } } @@ -1302,6 +1304,14 @@ NS_ASSUME_NONNULL_BEGIN } } +- (void)hideMenuControllerIfNecessary +{ + if (self.isPresentingMenuController) { + [[UIMenuController sharedMenuController] setMenuVisible:NO animated:NO]; + } + self.isPresentingMenuController = NO; +} + - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self];