diff -r 41cfa8edf02f -r b34c0e2b546a project_files/HedgewarsMobile/Classes/HoldTableViewCell.m --- a/project_files/HedgewarsMobile/Classes/HoldTableViewCell.m Sat Aug 15 20:49:06 2015 +0200 +++ b/project_files/HedgewarsMobile/Classes/HoldTableViewCell.m Sun Aug 16 02:32:03 2015 +0200 @@ -57,7 +57,29 @@ -(void) holdAction { if (self.delegate != nil && [self.delegate respondsToSelector:@selector(holdAction:onTable:)]) - [self.delegate holdAction:self.textLabel.text onTable:(UITableView *)self.superview]; + { + UITableView *tableView = [self findTable]; + if (tableView) + { + [self.delegate holdAction:self.textLabel.text onTable:tableView]; + } + } +} + +- (UITableView *)findTable +{ + UIView *tableView = self.superview; + while (![tableView isKindOfClass:[UITableView class]] || (tableView == nil)) + { + tableView = tableView.superview; + + if ([tableView isEqual:self.window]) + { + tableView = nil; + } + } + + return (UITableView *)tableView; } -(void) dealloc {