Skip to content

NPE in ProjectionViewer.resetVisibleRegion #3459

@ptziegler

Description

@ptziegler

Let's make sure issue is not already fixed in latest builds first.

Steps to reproduce

From a fresh installation and clean workspace:

  • Compare some local changes using the Synchronize perspective
  • Do some changes to the local file in the Compare view
  • Save

Here is some relevant log output

From <workspace>/.metadata/.log

java.lang.NullPointerException: Cannot invoke "org.eclipse.jface.text.source.projection.ProjectionAnnotationModel.getAnnotationIterator()" because "this.fProjectionAnnotationModel" is null
	at org.eclipse.jface.text.source.projection.ProjectionViewer.resetVisibleRegion(ProjectionViewer.java:890)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.updateViewerDocumentRange(TextMergeViewer.java:809)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.internalSetDocument(TextMergeViewer.java:790)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.setDocument(TextMergeViewer.java:699)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateContent(TextMergeViewer.java:3134)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:818)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.refresh(ContentMergeViewer.java:792)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.handleCompareInputChange(ContentMergeViewer.java:1428)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.handleCompareInputChange(TextMergeViewer.java:5608)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.lambda$1(ContentMergeViewer.java:401)
	at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$1.run(SaveableCompareEditorInput.java:394)

Tested under this environment:

  • Eclipse IDE/Platform version (as shown in Help > About): 2025-12 M2

Community

  • I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions