Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Loskutov2020-04-20 11:51:49 +0000
committerAndrey Loskutov2020-04-21 06:22:31 +0000
commit884a041c4f2bf0aeb0dba16d5cd343d9aad25b06 (patch)
tree905b4cd6bb4924bc1451cbac76a619e2dfe95ad8
parent494866f839b3da696cc4855b8006e9eef8509f48 (diff)
downloadeclipse.platform.ui-884a041c4f2bf0aeb0dba16d5cd343d9aad25b06.tar.gz
eclipse.platform.ui-884a041c4f2bf0aeb0dba16d5cd343d9aad25b06.tar.xz
eclipse.platform.ui-884a041c4f2bf0aeb0dba16d5cd343d9aad25b06.zip
Bug 562314 - "IllegalArgumentException: Comparison method violates its
general contract" error in DetailedProgressViewer Users of DetailedProgressViewer that want use comparators with it, should use error-aware comparator versions like ProgressManagerUtil.ProgressViewerComparator. Change-Id: I514420eb48616ebaffdf8ba0236f7e4b1973e39b Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r--bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/BlockedJobsDialog.java10
-rw-r--r--bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/ProgressMonitorJobsDialog.java10
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/BlockedJobsDialog.java10
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java10
4 files changed, 4 insertions, 36 deletions
diff --git a/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/BlockedJobsDialog.java b/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/BlockedJobsDialog.java
index 66225553bdf..d8298796eb7 100644
--- a/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/BlockedJobsDialog.java
+++ b/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/BlockedJobsDialog.java
@@ -21,8 +21,6 @@ import org.eclipse.e4.ui.progress.IProgressService;
import org.eclipse.e4.ui.progress.UIJob;
import org.eclipse.jface.dialogs.IconAndMessageDialog;
import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
@@ -261,13 +259,7 @@ public class BlockedJobsDialog extends IconAndMessageDialog {
void showJobDetails(Composite parent) {
viewer = new DetailedProgressViewer(parent, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.BORDER, progressService, finishedJobs);
- viewer.setComparator(new ViewerComparator() {
- @Override
- @SuppressWarnings("unchecked")
- public int compare(Viewer testViewer, Object e1, Object e2) {
- return ((Comparable<Object>) e1).compareTo(e2);
- }
- });
+ viewer.setComparator(ProgressManagerUtil.getProgressViewerComparator());
ProgressViewerContentProvider provider = getContentProvider();
viewer.setContentProvider(provider);
viewer.setInput(provider);
diff --git a/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/ProgressMonitorJobsDialog.java b/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/ProgressMonitorJobsDialog.java
index a6629727b1e..8bf4bad121f 100644
--- a/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/ProgressMonitorJobsDialog.java
+++ b/bundles/org.eclipse.e4.ui.progress/src/org/eclipse/e4/ui/progress/internal/ProgressMonitorJobsDialog.java
@@ -24,8 +24,6 @@ import org.eclipse.e4.ui.progress.internal.legacy.Policy;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -144,13 +142,7 @@ public class ProgressMonitorJobsDialog extends ProgressMonitorDialog {
viewer = new DetailedProgressViewer(viewerComposite, SWT.MULTI
| SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, progressService, finishedJobs);
- viewer.setComparator(new ViewerComparator() {
- @Override
- @SuppressWarnings("unchecked")
- public int compare(Viewer testViewer, Object e1, Object e2) {
- return ((Comparable<Object>) e1).compareTo(e2);
- }
- });
+ viewer.setComparator(ProgressManagerUtil.getProgressViewerComparator());
viewer.setContentProvider(contentProviderFactory
.getProgressViewerContentProvider(viewer, true, false));
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/BlockedJobsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/BlockedJobsDialog.java
index 766f1e9e9f0..e7096064273 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/BlockedJobsDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/BlockedJobsDialog.java
@@ -18,8 +18,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.IconAndMessageDialog;
import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
@@ -223,13 +221,7 @@ public class BlockedJobsDialog extends IconAndMessageDialog {
*/
void showJobDetails(Composite parent) {
viewer = new DetailedProgressViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- viewer.setComparator(new ViewerComparator() {
- @Override
- @SuppressWarnings("unchecked")
- public int compare(Viewer testViewer, Object e1, Object e2) {
- return ((Comparable<Object>) e1).compareTo(e2);
- }
- });
+ viewer.setComparator(ProgressManagerUtil.getProgressViewerComparator());
ProgressViewerContentProvider provider = getContentProvider();
viewer.setContentProvider(provider);
viewer.setInput(provider);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
index ba1075fe3e2..6d991652844 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
@@ -22,8 +22,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.Point;
@@ -121,13 +119,7 @@ public class ProgressMonitorJobsDialog extends ProgressMonitorDialog {
}
viewer = new DetailedProgressViewer(viewerComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- viewer.setComparator(new ViewerComparator() {
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @Override
- public int compare(Viewer testViewer, Object e1, Object e2) {
- return ((Comparable) e1).compareTo(e2);
- }
- });
+ viewer.setComparator(ProgressManagerUtil.getProgressViewerComparator());
viewer.setContentProvider(new ProgressViewerContentProvider(viewer, true, false) {
@Override

Back to the top