Author: ankit
Date: 2007-02-20 18:24:29 -0500 (Tue, 20 Feb 2007)
New Revision: 73224

Modified:
   trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
   
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProjectOperations.cs
Log:
* MonoDevelop.Ide.Gui/ProjectOperations.cs (AddReferenceToProject): Ensure
that the dialog is closed even in case of exception being thrown.


Modified: trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2007-02-20 
22:28:33 UTC (rev 73223)
+++ trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2007-02-20 
23:24:29 UTC (rev 73224)
@@ -1,3 +1,8 @@
+2007-02-21  Ankit Jain  <[EMAIL PROTECTED]>
+
+       * MonoDevelop.Ide.Gui/ProjectOperations.cs (AddReferenceToProject): 
Ensure
+       that the dialog is closed even in case of exception being thrown.
+
 2007-02-20  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
 
        * MonoDevelop.Ide.Gui.Content/TextEditorExtension.cs: Added missing

Modified: 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProjectOperations.cs
===================================================================
--- 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProjectOperations.cs
 2007-02-20 22:28:33 UTC (rev 73223)
+++ 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ProjectOperations.cs
 2007-02-20 23:24:29 UTC (rev 73224)
@@ -676,29 +676,32 @@
                {
                        bool res = false;
                        
-                       if (selDialog == null)
-                               selDialog = new SelectReferenceDialog(project);
-                       else
-                               selDialog.SetProject (project);
+                       try {
+                               if (selDialog == null)
+                                       selDialog = new 
SelectReferenceDialog(project);
+                               else
+                                       selDialog.SetProject (project);
 
-                       if (selDialog.Run() == (int)Gtk.ResponseType.Ok) {
-                               ProjectReferenceCollection newRefs = 
selDialog.ReferenceInformations;
-                               
-                               ArrayList toDelete = new ArrayList ();
-                               foreach (ProjectReference refInfo in 
project.ProjectReferences)
-                                       if (!newRefs.Contains (refInfo))
-                                               toDelete.Add (refInfo);
-                               
-                               foreach (ProjectReference refInfo in toDelete)
-                                               
project.ProjectReferences.Remove (refInfo);
+                               if (selDialog.Run() == 
(int)Gtk.ResponseType.Ok) {
+                                       ProjectReferenceCollection newRefs = 
selDialog.ReferenceInformations;
+                                       
+                                       ArrayList toDelete = new ArrayList ();
+                                       foreach (ProjectReference refInfo in 
project.ProjectReferences)
+                                               if (!newRefs.Contains (refInfo))
+                                                       toDelete.Add (refInfo);
+                                       
+                                       foreach (ProjectReference refInfo in 
toDelete)
+                                                       
project.ProjectReferences.Remove (refInfo);
 
-                               foreach (ProjectReference refInfo in 
selDialog.ReferenceInformations)
-                                       if (!project.ProjectReferences.Contains 
(refInfo))
-                                               
project.ProjectReferences.Add(refInfo);
-                               
-                               res = true;
+                                       foreach (ProjectReference refInfo in 
selDialog.ReferenceInformations)
+                                               if 
(!project.ProjectReferences.Contains (refInfo))
+                                                       
project.ProjectReferences.Add(refInfo);
+                                       
+                                       res = true;
+                               }
+                       } finally {
+                               selDialog.Hide ();
                        }
-                       selDialog.Hide ();
                        return res;
                }
                

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to