public void OpenInfoModal() { CGPoint orgPoint = Utility.GetModalPanelLocation(); using (NSAutoreleasePool pool = new NSAutoreleasePool()) { using (var infoPanelController = new PublicationInfoPanelController(orgPoint)) { infoPanelController.BookInfo = PublicationsDataManager.SharedInstance.CurrentPubliction; infoPanelController.InitializeInfoView(); var infoPanel = infoPanelController.Window; infoPanel.MakeFirstResponder(null); NSApplication NSApp = NSApplication.SharedApplication; infoPanel.WindowShouldClose += (t) => true; infoPanel.WillClose += delegate(object asender, EventArgs e) { NSApp.StopModal(); }; NSApplication.SharedApplication.RunModalForWindow(infoPanel); infoPanelController.Window.OrderOut(null); infoPanelController.Dispose(); AddInfoUpdateState(); } } }