diff options
author | Vsevolod Kukol <sevoku@microsoft.com> | 2019-08-15 13:21:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-15 13:21:15 +0300 |
commit | 3ae897251bb78137d8ea8e03f177931fe7982a54 (patch) | |
tree | 05886ad1cc0c10933f123857a2b7094dd0931c12 /main | |
parent | 261b437786899be4239e8990e7a4e2661cacc106 (diff) | |
parent | 67f66eefa3f49c1b9ac7a24efec3647e30de9794 (diff) |
Merge pull request #8355 from mono/backport-pr-8354-to-release-8.2
[release-8.2] Fixes VSTS Bug 961599: [Feedback] Visual Studio crashes/exists when
Diffstat (limited to 'main')
7 files changed, 10 insertions, 6 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs index 9b0e3d85e3..6bbc421a54 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/Gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs @@ -143,7 +143,6 @@ namespace MonoDevelop.VersionControl.Git }
this.DefaultWidth = 332;
this.DefaultHeight = 184;
- this.Show ();
this.usernameEntry.Changed += new global::System.EventHandler (this.OnChanged);
this.emailEntry.Changed += new global::System.EventHandler (this.OnChanged);
}
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs index 55278dbfa6..9ed5f6cec4 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs @@ -95,7 +95,7 @@ namespace MonoDevelop.VersionControl.Git string user; string email; - repo.GetUserInfo (out user, out email); + repo.GetUserInfo (out user, out email, CommitDialog); string val = sol.UserProperties.GetValue<string> ("GitUserInfo"); if (val == "UsingMD") { diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs index 5530af3948..ad31ccf21e 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs @@ -903,7 +903,7 @@ namespace MonoDevelop.VersionControl.Git } } - protected override VersionControlOperation GetSupportedOperations (VersionInfo vinfo) + protected internal override VersionControlOperation GetSupportedOperations (VersionInfo vinfo) { VersionControlOperation ops = base.GetSupportedOperations (vinfo); if (GetCurrentRemote () == null) @@ -1353,7 +1353,7 @@ namespace MonoDevelop.VersionControl.Git return name == null && email == null; } - public void GetUserInfo (out string name, out string email) + public void GetUserInfo (out string name, out string email, Components.Window parent = null) { try { string lname = null, lemail = null; @@ -1369,7 +1369,7 @@ namespace MonoDevelop.VersionControl.Git Runtime.RunInMainThread (() => { var dlg = new UserGitConfigDialog (); try { - if ((Gtk.ResponseType)MessageService.RunCustomDialog (dlg) == Gtk.ResponseType.Ok) { + if ((Gtk.ResponseType)MessageService.RunCustomDialog (dlg, parent) == Gtk.ResponseType.Ok) { dlgName = dlg.UserText; dlgEmail = dlg.EmailText; SetUserInfo (dlgName, dlgEmail); diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs index c639251548..bc56415478 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Dialogs/CommitDialog.cs @@ -89,6 +89,7 @@ namespace MonoDevelop.VersionControl.Dialogs continue; } if (ext.Initialize (changeSet)) { + ext.CommitDialog = this; var newTitle = ext.FormatDialogTitle (changeSet, Title); if (newTitle != null) Title = newTitle; diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj index edc0664983..fa094de8ec 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.csproj @@ -525,6 +525,7 @@ </ItemGroup> <ItemGroup> <InternalsVisibleTo Include="MonoDevelop.VersionControl.Git.Tests" /> + <InternalsVisibleTo Include="MonoDevelop.VersionControl.Git" /> <InternalsVisibleTo Include="MonoDevelop.MacDev" /> </ItemGroup> <ItemGroup> diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs index 59f9fe1025..75a3d1fd34 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/CommitDialogExtension.cs @@ -6,8 +6,9 @@ namespace MonoDevelop.VersionControl /// <summary> /// Base class for commit dialog extensions. /// </summary> - public class CommitDialogExtension: Gtk.EventBox + public class CommitDialogExtension : Gtk.EventBox { + internal VersionControl.Dialogs.CommitDialog CommitDialog { get; set; } /// <summary> /// Initialize the extension. /// </summary> diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs index dd6b82f1fc..0fea13b651 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/MessageService.cs @@ -395,6 +395,8 @@ namespace MonoDevelop.Ide NSWindow nativeParent = null; try { nativeParent = parent; + if (nativeParent.Handle == nsdialog.Handle) + throw new InvalidOperationException ("Can't add dialog as child to itself."); nativeParent.AddChildWindow (nsdialog, NSWindowOrderingMode.Above); } catch (Exception ex) { LoggingService.LogInternalError ("Failed to get the native parent window", ex); |