Browse Source

Fixed SD2-557: .resx file becomes invalid when all resources are removed

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@731 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
71729d5352
  1. 14
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/DesignerResourceService.cs

14
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/DesignerResourceService.cs

@ -54,14 +54,12 @@ namespace ICSharpCode.FormDesigner.Services
public void Dispose() public void Dispose()
{ {
this.storage = null; this.storage = null;
this.stream.Close(); this.stream.Close();
} }
public void Save(string fileName) public void Save(string fileName)
{ {
using (BinaryWriter binWriter = new BinaryWriter(System.IO.File.OpenWrite(fileName))) { File.WriteAllBytes(fileName, storage);
binWriter.Write(this.storage);
}
} }
} }
#endregion #endregion
@ -116,7 +114,7 @@ namespace ICSharpCode.FormDesigner.Services
resources[fileName] = resourceStorage; resources[fileName] = resourceStorage;
resourceWriter = CreateResourceWriter(resourceStorage.stream, GetResourceType(fileName)); resourceWriter = CreateResourceWriter(resourceStorage.stream, GetResourceType(fileName));
Writers[info] = resourceWriter; Writers[info] = resourceWriter;
resourceStorage.project = project; resourceStorage.project = project;
} }
return resourceWriter; return resourceWriter;
} catch (Exception e) { } catch (Exception e) {
@ -208,7 +206,7 @@ namespace ICSharpCode.FormDesigner.Services
} }
foreach (ResourceStorage storage in resources.Values) { foreach (ResourceStorage storage in resources.Values) {
storage.storage = null; storage.storage = null;
storage.stream.Close(); storage.stream.Close();
} }
resources.Clear(); resources.Clear();
} else { } else {
@ -260,7 +258,7 @@ namespace ICSharpCode.FormDesigner.Services
{ {
if (type == ResourceType.Resources) { if (type == ResourceType.Resources) {
return new ResourceReader(fileName); return new ResourceReader(fileName);
} }
return new ResXResourceReader(fileName); return new ResXResourceReader(fileName);
} }
@ -268,7 +266,7 @@ namespace ICSharpCode.FormDesigner.Services
{ {
if (type == ResourceType.Resources) { if (type == ResourceType.Resources) {
return new ResourceReader(stream); return new ResourceReader(stream);
} }
return new ResXResourceReader(stream); return new ResXResourceReader(stream);
} }

Loading…
Cancel
Save