Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Sawicki2011-11-17 21:47:21 +0000
committerMatthias Sohn2011-11-17 21:47:21 +0000
commit4437b2270058f9d1108aa72a2c6b6a1ea278dc01 (patch)
treeb922173b58d4906a60956294d20fdb933ad5a56b /org.eclipse.egit.ui
parente1b12f0a00d555b792dc5416d62c329007a57803 (diff)
downloadegit-4437b2270058f9d1108aa72a2c6b6a1ea278dc01.tar.gz
egit-4437b2270058f9d1108aa72a2c6b6a1ea278dc01.tar.xz
egit-4437b2270058f9d1108aa72a2c6b6a1ea278dc01.zip
Guard against null text widget when format completes
Bug: 352920 Change-Id: I49f89b5d8ec7dbbfd5a5e393640923c7df3a1ba5 Signed-off-by: Kevin Sawicki <kevin@github.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java54
1 files changed, 18 insertions, 36 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
index b816354f88..524ff2679b 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java
@@ -17,8 +17,8 @@ import java.util.List;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.UIPreferences;
import org.eclipse.egit.ui.UIText;
@@ -221,47 +221,29 @@ class CommitMessageViewer extends TextViewer implements
}
void addDoneListenerToFormatJob() {
- formatJob.addJobChangeListener(new IJobChangeListener() {
-
- public void sleeping(IJobChangeEvent event) {
- // empty
- }
-
- public void scheduled(IJobChangeEvent event) {
- // empty
- }
-
- public void running(IJobChangeEvent event) {
- // empty
- }
+ formatJob.addJobChangeListener(new JobChangeAdapter() {
public void done(IJobChangeEvent event) {
- if (event.getResult().isOK()) {
- if (getTextWidget().isDisposed())
- return;
- final FormatJob job = (FormatJob) event.getJob();
- getTextWidget().getDisplay().asyncExec(new Runnable() {
- public void run() {
- if (getTextWidget().isDisposed())
- return;
- setDocument(new Document(job.getFormatResult().getCommitInfo()));
- getTextWidget().setStyleRanges(job.getFormatResult().getStyleRange());
- }
- });
- }
- }
-
- public void awake(IJobChangeEvent event) {
- // empty
- }
-
- public void aboutToRun(IJobChangeEvent event) {
- // empty
+ if (!event.getResult().isOK())
+ return;
+ final StyledText text = getTextWidget();
+ if (text == null || text.isDisposed())
+ return;
+ final FormatJob job = (FormatJob) event.getJob();
+ text.getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ if (text.isDisposed())
+ return;
+ setDocument(new Document(job.getFormatResult()
+ .getCommitInfo()));
+ text.setStyleRanges(job.getFormatResult()
+ .getStyleRange());
+ }
+ });
}
});
}
-
@Override
protected void handleDispose() {
if (formatJob != null) {

Back to the top