diff -r c7829611c682 -r 616b618814b5 project_files/HedgewarsMobile/Classes/OverlayViewController.m --- a/project_files/HedgewarsMobile/Classes/OverlayViewController.m Sat Feb 05 23:37:25 2011 +0300 +++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.m Sat Feb 05 22:22:16 2011 +0100 @@ -180,12 +180,18 @@ // add timer to runloop, otherwise it doesn't work [[NSRunLoop currentRunLoop] addTimer:dimTimer forMode:NSDefaultRunLoopMode]; - // become listener of some notifications + // display the help page, required by the popover on ipad [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showHelp:) name:@"show help ingame" object:nil]; + // remove the view, required by the dual head version + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(removeOverlay:) + name:@"remove overlay" + object:nil]; + // for iOS >= 3.2 if ([UIScreen respondsToSelector:@selector(screens)]) { [[NSNotificationCenter defaultCenter] addObserver:self @@ -252,6 +258,13 @@ doNotDim(); } +-(void) removeOverlay:(id) sender { + [self.popupMenu performSelectorOnMainThread:@selector(dismiss) withObject:nil waitUntilDone:YES]; + [self.popoverController performSelectorOnMainThread:@selector(dismissPopoverAnimated:) withObject:nil waitUntilDone:YES]; + [self.view performSelectorOnMainThread:@selector(removeFromSuperview) withObject:nil waitUntilDone:YES]; + HW_terminate(NO); +} + -(void) didReceiveMemoryWarning { if (self.popupMenu.view.superview == nil) self.popupMenu = nil;