diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2008-06-17 22:40:04 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2008-06-17 22:40:04 +0400 |
commit | b2f3ae5937abdf66c9871be7cffcca8ddb7750df (patch) | |
tree | e8d199a98e211455dfc25dc02d36b21ac8c92af2 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks | |
parent | bcce67d369fe0b791a35e83e4c42307ebefd5c6e (diff) |
* MonoDevelop.Ide.Gui.Pads/NodeCommandHandler.cs,
MonoDevelop.Ide.Gui/MonoDevelopTreeView.cs: Handle delete commands
in the base node command handler instead of the tree view, so that
subclassed command handlers can override them properly.
* MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs: Don't
allow deleting child files. Fix bad casting pattern.
* MonoDevelop.Ide.Tasks/TaskService.cs: Avoid an exception on closing
solutions without user tasks.
svn path=/trunk/monodevelop/; revision=106049
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs index 4072cb18f8..2613a4cee2 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs @@ -146,16 +146,15 @@ namespace MonoDevelop.Ide.Tasks {
// Save UserTasks to xml file string fileToSave = GetUserTasksFilename (e.Item); - try - { - List<UserTask> utasks = userTasks [e.Item]; - XmlSerializer serializer = new XmlSerializer (utasks.GetType ()); - Stream stream = new FileStream (fileToSave, FileMode.Create, FileAccess.Write, FileShare.None); - serializer.Serialize (stream, utasks); - stream.Close (); - } - catch (Exception ex) - { + try { + List<UserTask> utasks; + if (userTasks.TryGetValue (e.Item, out utasks)) { + XmlSerializer serializer = new XmlSerializer (utasks.GetType ()); + using (Stream stream = new FileStream (fileToSave, FileMode.Create, FileAccess.Write, FileShare.None)) { + serializer.Serialize (stream, utasks); + } + } + } catch (Exception ex) { LoggingService.LogWarning ("Could not save user tasks: " + fileToSave, ex); } |