diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index b838cef8c0c..68372d871fa 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,9 @@ +2004-04-20 Alain Magloire + + Fix for PR 59081 + + * model/org/eclipse/cdt/internal/core/model/Openable.java + 2004-04-19 Alain Magloire Fix for PR 59098 diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Openable.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Openable.java index f69f97a6179..f60a1964ad5 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Openable.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Openable.java @@ -99,6 +99,18 @@ public abstract class Openable extends Parent implements IOpenable, IBufferChang } } + /** + * This element is being closed. Do any necessary cleanup. + */ + protected void closing(Object info) throws CModelException { + if (info instanceof OpenableInfo) { + closeBuffer((OpenableInfo)info); + } else { + closeBuffer(null); + } + } + + /** * Builds this element's structure and properties in the given * info object, based on this element's current contents (i.e. buffer diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 65b6c6a9b96..c628384746c 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,11 @@ +2004-04-20 Alain Magloire + + Fix for PR 59081 + + * src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java + * src/org/eclipse/cdt/internal/ui/editor/CEditor.java + * src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java + 2004-04-20 David Inglis Enable wraping for build console diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java index 38bbf4a18d8..731bd2c69d0 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java @@ -95,7 +95,7 @@ public class CDocumentProvider extends TextFileDocumentProvider { IFileEditorInput input = (IFileEditorInput)element; original = createTranslationUnit(input.getFile()); IBufferFactory factory = CUIPlugin.getDefault().getBufferFactory(); - copy = (IWorkingCopy) original.getSharedWorkingCopy(getProgressMonitor(), factory); + copy = original.getSharedWorkingCopy(getProgressMonitor(), factory); } else if (element instanceof ITranslationUnitEditorInput) { ITranslationUnitEditorInput input = (ITranslationUnitEditorInput)element; copy = new CFileElementWorkingCopy(input.getTranslationUnit()); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java index c93603d0af3..dedad6a4a94 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java @@ -17,7 +17,6 @@ import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.ITranslationUnit; -import org.eclipse.cdt.core.model.IWorkingCopy; import org.eclipse.cdt.internal.ui.IContextMenuConstants; import org.eclipse.cdt.internal.ui.editor.asm.AsmTextTools; import org.eclipse.cdt.internal.ui.search.actions.OpenDeclarationsAction; @@ -158,7 +157,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event) { handlePreferencePropertyChanged(new org.eclipse.jface.util.PropertyChangeEvent(event.getSource(), event.getProperty(), event.getOldValue(), event.getNewValue())); } - }; + } /** * Default constructor. @@ -200,7 +199,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS */ public IFile getInputFile() { //IFileEditorInput editorInput = (IFileEditorInput)getEditorInput(); - IEditorInput editorInput = (IEditorInput) getEditorInput(); + IEditorInput editorInput = getEditorInput(); if (editorInput != null) { if ((editorInput instanceof IFileEditorInput)) { return ((IFileEditorInput) editorInput).getFile(); @@ -545,7 +544,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IS public void setOutlinePageInput(CContentOutlinePage page, IEditorInput input) { if (page != null) { IWorkingCopyManager manager = CUIPlugin.getDefault().getWorkingCopyManager(); - page.setInput((IWorkingCopy)manager.getWorkingCopy(input)); + page.setInput(manager.getWorkingCopy(input)); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java index b92046d4b17..b64f6010504 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java @@ -117,7 +117,7 @@ public class DocumentAdapter implements IBuffer, IDocumentListener { public void setContents(char[] contents) {} public void setContents(String contents) {} - }; + } /** NULL implementing IBuffer */ @@ -138,7 +138,8 @@ public class DocumentAdapter implements IBuffer, IDocumentListener { fContents= contents; Display.getDefault().syncExec(this); } - }; + } + /** * Executes a document replace call in the ui thread. */ @@ -162,7 +163,7 @@ public class DocumentAdapter implements IBuffer, IDocumentListener { fText= text; Display.getDefault().syncExec(this); } - }; + } private static final boolean DEBUG_LINE_DELIMITERS= true; @@ -320,7 +321,7 @@ public class DocumentAdapter implements IBuffer, IDocumentListener { * @see org.eclipse.cdt.internal.core.model.IBuffer#getOwner() */ public IOpenable getOwner() { - return (IOpenable) fOwner; + return fOwner; } /**