Browse Source

Fix SD-1740 - Generating same event handler twice in WPF designer

pull/14/head
Daniel Grunwald 15 years ago
parent
commit
e9079036d7
  1. 4
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs
  2. 10
      src/Main/Base/Project/Src/Services/File/OpenedFile.cs

4
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs

@ -94,6 +94,10 @@ namespace ICSharpCode.FormsDesigner @@ -94,6 +94,10 @@ namespace ICSharpCode.FormsDesigner
gen.CurrentClassPart = c;
int line = gen.GetEventHandlerInsertionLine(c);
if (line > document.TotalNumberOfLines) {
lineNumber = document.TotalNumberOfLines;
return;
}
int offset = document.GetLine(line).Offset;

10
src/Main/Base/Project/Src/Services/File/OpenedFile.cs

@ -441,6 +441,7 @@ namespace ICSharpCode.SharpDevelop @@ -441,6 +441,7 @@ namespace ICSharpCode.SharpDevelop
public override void CloseIfAllViewsClosed()
{
if (registeredViews.Count == 0) {
bool wasDirty = this.IsDirty;
FileService.OpenedFileClosed(this);
FileClosed.RaiseEvent(this, EventArgs.Empty);
@ -449,6 +450,15 @@ namespace ICSharpCode.SharpDevelop @@ -449,6 +450,15 @@ namespace ICSharpCode.SharpDevelop
fileChangeWatcher.Dispose();
fileChangeWatcher = null;
}
if (wasDirty) {
// We discarded some information when closing the file,
// so we need to re-parse it.
if (File.Exists(this.FileName))
ParserService.BeginParse(this.FileName);
else
ParserService.ClearParseInformation(this.FileName);
}
}
}

Loading…
Cancel
Save