diff options
author | Kevin Sawicki | 2011-11-17 21:47:21 +0000 |
---|---|---|
committer | Matthias Sohn | 2011-11-17 21:47:21 +0000 |
commit | 4437b2270058f9d1108aa72a2c6b6a1ea278dc01 (patch) | |
tree | b922173b58d4906a60956294d20fdb933ad5a56b /org.eclipse.egit.ui | |
parent | e1b12f0a00d555b792dc5416d62c329007a57803 (diff) | |
download | egit-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.java | 54 |
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) { |