diff options
author | Dani Megert | 2013-01-03 14:51:22 +0000 |
---|---|---|
committer | Dani Megert | 2013-01-03 14:51:22 +0000 |
commit | 7376e33bf89b9e24e5774ef009e8e03f133af2c4 (patch) | |
tree | 163c83485caaf5f4efbb86216a385a410bcf90ba | |
parent | 367366c9b1f364257f90fbb56cd52036ae9d5e0c (diff) | |
download | eclipse.platform.text-7376e33bf89b9e24e5774ef009e8e03f133af2c4.tar.gz eclipse.platform.text-7376e33bf89b9e24e5774ef009e8e03f133af2c4.tar.xz eclipse.platform.text-7376e33bf89b9e24e5774ef009e8e03f133af2c4.zip |
Fixed bug 396759: [implementation] Editor saves over changed filev20130103-145122
3 files changed, 13 insertions, 3 deletions
diff --git a/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF b/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF index 68688b105b1..69e655e4f20 100644 --- a/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF +++ b/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.core.filebuffers; singleton:=true -Bundle-Version: 3.5.200.qualifier +Bundle-Version: 3.5.300.qualifier Bundle-Activator: org.eclipse.core.internal.filebuffers.FileBuffersPlugin Bundle-ActivationPolicy: lazy Bundle-Vendor: %providerName diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java index 66ecb307e70..dc713540285 100644 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java +++ b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. + * Copyright (c) 2007, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,6 +45,8 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.content.IContentDescription; import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.core.resources.IResourceStatus; + import org.eclipse.core.filebuffers.IFileBufferStatusCodes; import org.eclipse.core.filebuffers.IPersistableAnnotationModel; import org.eclipse.core.filebuffers.ITextFileBuffer; @@ -416,6 +418,9 @@ public class FileStoreTextFileBuffer extends FileStoreFileBuffer implements ITex * @see org.eclipse.core.internal.filebuffers.FileBuffer#commitFileBufferContent(org.eclipse.core.runtime.IProgressMonitor, boolean) */ protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException { + if (!isSynchronized() && !overwrite) + throw new CoreException(new Status(IStatus.WARNING, FileBuffersPlugin.PLUGIN_ID, IResourceStatus.OUT_OF_SYNC_LOCAL, FileBuffersMessages.FileBuffer_error_outOfSync, null)); + String encoding= computeEncoding(); Charset charset; diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java index ffc74f5a859..a13cff04671 100644 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java +++ b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2010 IBM Corporation and others. + * Copyright (c) 2000, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,6 +39,7 @@ import org.eclipse.core.runtime.content.IContentDescription; import org.eclipse.core.runtime.content.IContentType; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResourceStatus; import org.eclipse.core.filebuffers.IFileBufferStatusCodes; import org.eclipse.core.filebuffers.IPersistableAnnotationModel; @@ -52,6 +53,7 @@ import org.eclipse.jface.text.IDocumentExtension4; import org.eclipse.jface.text.IDocumentListener; import org.eclipse.jface.text.source.IAnnotationModel; + /** * @since 3.0 */ @@ -332,6 +334,9 @@ public class ResourceTextFileBuffer extends ResourceFileBuffer implements ITextF * @see org.eclipse.core.internal.filebuffers.FileBuffer#commitFileBufferContent(org.eclipse.core.runtime.IProgressMonitor, boolean) */ protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException { + if (!isSynchronized() && !overwrite) + throw new CoreException(new Status(IStatus.WARNING, FileBuffersPlugin.PLUGIN_ID, IResourceStatus.OUT_OF_SYNC_LOCAL, FileBuffersMessages.FileBuffer_error_outOfSync, null)); + String encoding= computeEncoding(); if (fBOM == IContentDescription.BOM_UTF_16LE && CHARSET_UTF_16.equals(encoding)) |