Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2012-05-05 14:40:18 +0400
committerMike Krüger <mkrueger@xamarin.com>2012-05-05 14:40:56 +0400
commit9277af6ec7588a204af82c1d290f832436ce07b2 (patch)
tree121aa407ba56cb86a7f177e3d0caa279617b45e7
parentc90039f300abfbac742f48063b1b083b743d9dea (diff)
Fixed 'Bug 4765 - File change exception when editing unsaved file'.
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/FileRegistry.cs17
1 files changed, 11 insertions, 6 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/FileRegistry.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/FileRegistry.cs
index ab82a0acec..1d6a298de8 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/FileRegistry.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/FileRegistry.cs
@@ -70,12 +70,17 @@ namespace MonoDevelop.SourceEditor
openFiles.Remove (sourceEditorView);
}
+ static bool SkipView (SourceEditorView view)
+ {
+ return !view.IsFile || view.IsUntitled;
+ }
+
static void HandleFileServiceChange (object sender, FileEventArgs e)
{
bool foundOneChange = false;
foreach (var file in e) {
foreach (var view in openFiles) {
- if (!view.IsFile || !string.Equals (view.ContentName, file.FileName, fileNameComparer))
+ if (SkipView (view) || !string.Equals (view.ContentName, file.FileName, fileNameComparer))
continue;
if (!view.IsDirty && IdeApp.Workbench.AutoReloadDocuments)
view.SourceEditorWidget.Reload ();
@@ -92,7 +97,7 @@ namespace MonoDevelop.SourceEditor
{
var changedViews = new List<SourceEditorView> ();
foreach (var view in openFiles) {
- if (!view.IsFile)
+ if (SkipView (view))
continue;
if (view.LastSaveTimeUtc == File.GetLastWriteTimeUtc (view.ContentName))
continue;
@@ -118,7 +123,7 @@ namespace MonoDevelop.SourceEditor
var changedViews = new List<SourceEditorView> ();
foreach (var view in openFiles) {
- if (!view.IsFile)
+ if (SkipView (view))
continue;
if (string.Equals (view.ContentName, fileName, fileNameComparer)) {
if (view.LastSaveTimeUtc == File.GetLastWriteTimeUtc (fileName))
@@ -171,7 +176,7 @@ namespace MonoDevelop.SourceEditor
get {
int count = 0;
foreach (var view in openFiles) {
- if (!view.IsFile || !view.SourceEditorWidget.HasIncorrectEolMarker)
+ if (SkipView (view) || !view.SourceEditorWidget.HasIncorrectEolMarker)
continue;
count++;
if (count > 1)
@@ -184,7 +189,7 @@ namespace MonoDevelop.SourceEditor
public static void ConvertLineEndingsInAllFiles ()
{
foreach (var view in openFiles) {
- if (!view.IsFile || !view.SourceEditorWidget.HasIncorrectEolMarker)
+ if (SkipView (view) || !view.SourceEditorWidget.HasIncorrectEolMarker)
continue;
view.SourceEditorWidget.ConvertLineEndings ();
@@ -197,7 +202,7 @@ namespace MonoDevelop.SourceEditor
public static void IgnoreLineEndingsInAllFiles ()
{
foreach (var view in openFiles) {
- if (!view.IsFile || !view.SourceEditorWidget.HasIncorrectEolMarker)
+ if (SkipView (view) || !view.SourceEditorWidget.HasIncorrectEolMarker)
continue;
view.SourceEditorWidget.UseIncorrectMarkers = true;