Bug 571954 - Fix NPE in paint listener for center control
Fixup for e534a45caef77d7c4d52cb1473501c0bc2252ea6.
Paint events can occur earlier than the doPaint() on the old
BufferedCanvas control - even before before the left / right controls
are actually created.
Ignore such early events.
Change-Id: I4f9c8410d5646bd02088b4e4ec94c4fca8d50186
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
index f650d9c..24c1af3 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
@@ -4256,6 +4256,11 @@
}
private void paintCenter(Canvas canvas, GC g) {
+ if (fLeft == null || fRight == null) {
+ // The paint event for the center control can occur before the left / right controls are created.
+ // simply ignore it in this case.
+ return;
+ }
Display display= canvas.getDisplay();