diff options
author | Dani Megert | 2014-12-16 15:56:22 +0000 |
---|---|---|
committer | Dani Megert | 2014-12-16 15:56:22 +0000 |
commit | 6b374021c44955629774140cb191b3f619c3cc3c (patch) | |
tree | a12e7262510f3cf9b0ae8b8762e59c6a3703775d /bundles/org.eclipse.compare/compare | |
parent | 7066a7209a9d2f386d2c3dd51d30f60cf5964a2e (diff) | |
download | eclipse.platform.team-6b374021c44955629774140cb191b3f619c3cc3c.tar.gz eclipse.platform.team-6b374021c44955629774140cb191b3f619c3cc3c.tar.xz eclipse.platform.team-6b374021c44955629774140cb191b3f619c3cc3c.zip |
Added more details to track the NPE from bug 448968
Diffstat (limited to 'bundles/org.eclipse.compare/compare')
-rw-r--r-- | bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java index 12b39c5b2..8d2d262e6 100644 --- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java +++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2014 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 @@ -24,6 +24,7 @@ import org.eclipse.compare.internal.ChangePropertyAction; import org.eclipse.compare.internal.CompareEditor; import org.eclipse.compare.internal.CompareHandlerService; import org.eclipse.compare.internal.CompareMessages; +import org.eclipse.compare.internal.CompareUIPlugin; import org.eclipse.compare.internal.ICompareUIConstants; import org.eclipse.compare.internal.IFlushable2; import org.eclipse.compare.internal.ISavingSaveable; @@ -74,6 +75,7 @@ import org.eclipse.ui.ISaveablesSource; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.Saveable; + /** * An abstract compare and merge viewer with two side-by-side content areas * and an optional content area for the ancestor. The implementation makes no @@ -117,6 +119,19 @@ public abstract class ContentMergeViewer extends ContentViewer public void layout(Composite composite, boolean force) { + if (fLeftLabel == null) { + // Help to find out the cause for bug 449558 + NullPointerException npe= new NullPointerException("fLeftLabel is 'null';fLeftLabelSet is " + fLeftLabelSet + ";fComposite.isDisposed() is " + fComposite.isDisposed()); + + // Allow to test whether doing nothing helps + if (Boolean.getBoolean("ContentMergeViewer.DEBUG")) { + CompareUIPlugin.log(npe); + return; + } + + throw npe; + } + // determine some derived sizes int headerHeight= fLeftLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y; Rectangle r= composite.getClientArea(); @@ -300,6 +315,8 @@ public abstract class ContentMergeViewer extends ContentViewer /* package */ Composite fComposite; private CLabel fAncestorLabel; private CLabel fLeftLabel; + + private boolean fLeftLabelSet= false; // needed for debug output for bug 449558 private CLabel fRightLabel; /* package */ CLabel fDirectionLabel; /* package */ Control fCenter; @@ -785,6 +802,7 @@ public abstract class ContentMergeViewer extends ContentViewer fAncestorLabel= new CLabel(fComposite, style | Window.getDefaultOrientation()); fLeftLabel= new CLabel(fComposite, style | Window.getDefaultOrientation()); + fLeftLabelSet= true; new Resizer(fLeftLabel, VERTICAL); fDirectionLabel= new CLabel(fComposite, style); |