diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2015-10-12 22:20:27 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-01-18 16:46:34 +0300 |
commit | 9845c24e9052f41df3f28a345599439982c0f514 (patch) | |
tree | eb41e578e325c0ad05c6065a3449361081d0375b /main | |
parent | 8c353ffdcedb815dfeef79609b1778238a85d75b (diff) |
[Mac] Fix crasher in toolbar when a tooltip for a status layer wasn't
set.
Bug 32972 - [Roslyn] Crash in Mac toolbar
Bug 34719 - [Roslyn] XS Crashes after NRE in
MainToolbar.StatusBar.ShowPopoverForLayer
Thanks @iainx <3
Diffstat (limited to 'main')
-rw-r--r-- | main/src/addins/MacPlatform/MainToolbar/StatusBar.cs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs b/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs index 077be842ea..8f2ada5e18 100644 --- a/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs +++ b/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs @@ -705,13 +705,14 @@ namespace MonoDevelop.MacIntegration.MainToolbar ((NSTextField)popover.ContentViewController.View).AttributedStringValue = attrString; } - void CreatePopoverForLayer (CALayer layer) + bool CreatePopoverForLayer (CALayer layer) { string tooltip = layerToStatus [layer.Name].ToolTip; if (tooltip == null) - return; + return false; CreatePopoverCommon (230, tooltip); + return true; } void CreatePopoverForStatusBar () @@ -727,7 +728,9 @@ namespace MonoDevelop.MacIntegration.MainToolbar if (!layerToStatus.ContainsKey (layer.Name)) return; - CreatePopoverForLayer (layer); + if (!CreatePopoverForLayer (layer)) + return; + popover.Show (layer.Frame, this, NSRectEdge.MinYEdge); } |