i am debugging it:
this is the stack when the compare editor gets a property change that its
contents is dirty/changed:
Thread [main] (Suspended (breakpoint at line 259 in
CompareEditorInput$1))
CompareEditorInput$1.propertyChange(PropertyChangeEvent) line: 259
Utilities$2.run() line: 108
SafeRunner.run(ISafeRunnable) line: 37
Utilities$1.run() line: 106
Utilities.firePropertyChange(ListenerList, PropertyChangeEvent) line:
121
Utilities.firePropertyChange(ListenerList, Object, String, Object,
Object) line: 93
JavaMergeViewer(ContentMergeViewer).fireDirtyState(boolean) line:
1103
JavaMergeViewer(ContentMergeViewer).setLeftDirty(boolean) line: 1120
JavaMergeViewer(TextMergeViewer).updateDirtyState(IEditorInput,
IDocumentProvider, char) line: 3029
TextMergeViewer.access$12(TextMergeViewer, IEditorInput,
IDocumentProvider, char) line: 3023
TextMergeViewer$ContributorInfo.elementDirtyStateChanged(Object,
boolean) line: 990
TextFileDocumentProvider$FileBufferListener.dirtyStateChanged(IFileBuffer,
boolean) line: 287
TextFileBufferManager$3.run() line: 711
SafeRunner.run(ISafeRunnable) line: 37
ResourceTextFileBufferManager(TextFileBufferManager).fireDirtyStateChanged(IFileBuffer,
boolean) line: 709
ResourceTextFileBuffer$DocumentListener.documentChanged(DocumentEvent)
line: 77
SynchronizableDocument(AbstractDocument).doFireDocumentChanged2(DocumentEvent)
line: 739
SynchronizableDocument(AbstractDocument).doFireDocumentChanged(DocumentEvent,
boolean, IRegion) line: 712
SynchronizableDocument(AbstractDocument).doFireDocumentChanged(DocumentEvent)
line: 697
SynchronizableDocument(AbstractDocument).fireDocumentChanged(DocumentEvent)
line: 762
SynchronizableDocument(AbstractDocument).set(String, long) line: 1203
SynchronizableDocument.set(String, long) line: 223
SynchronizableDocument(AbstractDocument).set(String) line: 1183
<<<<<<<<<<<<<<<<<<<< THIS STRING is the wrong, base version string.
SynchronizableDocument.set(String) line: 209
DocumentAdapter$DocumentSetCommand.run() line: 127
DocumentAdapter.run(Runnable) line: 112
DocumentAdapter.access$1(Runnable) line: 109
DocumentAdapter$DocumentSetCommand.set(String) line: 132
DocumentAdapter.setContents(String) line: 495
CompilationUnitDocumentProvider.createFakeCompiltationUnit(IStorageEditorInput,
boolean) line: 1074 <<< ISTORAGEEDITORINPUT == see below
CompilationUnitDocumentProvider.createFakeCompiltationUnit(Object,
boolean) line: 1006
CompilationUnitDocumentProvider.connect(Object) line: 1203
JavaMergeViewer$CompilationUnitEditorAdapter(AbstractTextEditor).doSetInput(IEditorInput)
line: 4089
JavaMergeViewer$CompilationUnitEditorAdapter(StatusTextEditor).doSetInput(IEditorInput)
line: 203
JavaMergeViewer$CompilationUnitEditorAdapter(AbstractDecoratedTextEditor).doSetInput(IEditorInput)
line: 1329
JavaMergeViewer$CompilationUnitEditorAdapter(JavaEditor).internalDoSetInput(IEditorInput)
line: 2552
JavaMergeViewer$CompilationUnitEditorAdapter(JavaEditor).doSetInput(IEditorInput)
line: 2539
JavaMergeViewer$CompilationUnitEditorAdapter(CompilationUnitEditor).doSetInput(IEditorInput)
line: 1359
JavaMergeViewer$CompilationUnitEditorAdapter.doSetInput(IEditorInput)
line: 551
AbstractTextEditor$19.run(IProgressMonitor) line: 3074
ModalContext.runInCurrentThread(IRunnableWithProgress, IProgressMonitor)
line: 464
ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor,
Display) line: 372
ApplicationWindow$1.run() line: 759
BusyIndicator.showWhile(Display, Runnable) line: 70
WorkbenchWindow(ApplicationWindow).run(boolean, boolean,
IRunnableWithProgress) line: 756
WorkbenchWindow.run(boolean, boolean, IRunnableWithProgress) line:
2577
JavaMergeViewer$CompilationUnitEditorAdapter(AbstractTextEditor).internalInit(IWorkbenchWindow,
IEditorSite, IEditorInput) line: 3092
JavaMergeViewer$CompilationUnitEditorAdapter(AbstractTextEditor).init(IEditorSite,
IEditorInput) line: 3119
JavaMergeViewer.getSourceViewerConfiguration(SourceViewer, IEditorInput)
line: 281
JavaMergeViewer.configureTextViewer(TextViewer) line: 210
JavaMergeViewer(TextMergeViewer).configureSourceViewer(SourceViewer,
boolean) line: 2869
JavaMergeViewer(TextMergeViewer).updateContent(Object, Object, Object)
line: 2820
JavaMergeViewer(ContentMergeViewer).internalRefresh(Object) line: 737
JavaMergeViewer(ContentMergeViewer).inputChanged(Object, Object) line:
637
JavaMergeViewer(ContentViewer).setInput(Object) line: 274
JavaMergeViewer.setInput(Object) line: 150
CompareEditorInput$3(CompareViewerSwitchingPane).setInput(Object) line:
256
SyncInfoCompareInput(CompareEditorInput).internalSetContentPaneInput(Object)
line: 840
CompareEditorInput.access$7(CompareEditorInput, Object) line: 838
CompareEditorInput$13.run() line: 778
BusyIndicator.showWhile(Display, Runnable) line: 70
SyncInfoCompareInput(CompareEditorInput).feed1(ISelection) line: 772
SyncInfoCompareInput(CompareEditorInput).feedInput() line: 750
SyncInfoCompareInput(CompareEditorInput).createContents(Composite) line:
573
CompareEditor.createCompareControl() line: 447
CompareEditor.access$6(CompareEditor) line: 416
CompareEditor$3.run() line: 372
UILockListener.doPendingWork() line: 155
UISynchronizer$3.run() line: 158
RunnableLock.run() line: 35
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 133
Display.runAsyncMessages(boolean) line: 3852
Display.readAndDispatch() line: 3473
Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2388
Workbench.runUI() line: 2352
Workbench.access$4(Workbench) line: 2204
Workbench$5.run() line: 499
Realm.runWithDefault(Realm, Runnable) line: 333
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 492
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149
IDEApplication.start(IApplicationContext) line: 113
EclipseAppHandle.run(Object) line: 194
EclipseAppLauncher.runApplication(Object) line: 110
EclipseAppLauncher.start(Object) line: 79
EclipseStarter.run(Object) line: 368
EclipseStarter.run(String[], Runnable) line: 179
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not
available
Method.invoke(Object, Object...) line: not available
Main.invokeFramework(String[], URL[]) line: 556
Main.basicRun(String[]) line: 511
Main.run(String[]) line: 1270
Main.main(String[]) line: 1246
this is the editor input:
editorInput FileRevisionEditorInput (id=8235)
fileRevision ResourceVariantFileRevision (id=8249)
variant BaseFile (id=8254)
storage FileRevisionEditorInput$2 (id=8237)
So somehow the editor input the compare windows gets is a
FileRevisionEditorInput with a reference the the BaseFile ???
I am digging in a bit deeper.
johan
On Sat, Feb 7, 2009 at 16:57, Mark Phippard <markphip_at_gmail.com> wrote:
> I looked at your bug report back when you posted it. Have you looked
> at our code or CVS code since then to see if this is something we can
> correct on our side?
>
> Some of that behavior you are seeing seems really weird. A couple
> point releases ago someone added a patch to detect when things like
> drag and drop happen and that does some stuff with revert etc. It is
> based on resource listeners. I cannot think of why Compare would
> trigger that code, but that is the only way I can think of that a
> Revert could get triggered without taking an explicit option.
>
> My only other idea was if it is possible that something is seriously
> broken in the linkage of the menu actions and when you take the
> compare option additional actions are being triggered.
>
> Mark
>
>
> On Sat, Feb 7, 2009 at 10:32 AM, jcompagner <jcompagner_at_gmail.com> wrote:
> > in build I20090203-1200 they still didnt fix it.
> > So as a warning to everyone that wants to use Eclipse 3.5M5, it is really
> > not workable with the subclipse plugin.
> >
> >
> > On Fri, Jan 30, 2009 at 13:18, Johan Compagner <jcompagner_at_gmail.com>
> wrote:
> >>
> >> see
> >> https://bugs.eclipse.org/bugs/show_bug.cgi?id=263023
> >>
> >> dont know if subclipse maybe does something that is not really the way
> it
> >> supposed to be and now with the new compare window code it encounters it
> >> or if it is an eclipse bug (but cvs doesnt have that problem)
> >>
> >> johan
> >>
> >
> >
>
>
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>
> ------------------------------------------------------
>
> http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1043&dsMessageId=1119811
>
> To unsubscribe from this discussion, e-mail: [
> dev-unsubscribe_at_subclipse.tigris.org].
>
------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1043&dsMessageId=1120615
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_subclipse.tigris.org].
Received on 2009-02-07 21:20:40 CET