diff options
author | Andrey Loskutov | 2018-02-11 13:29:13 +0000 |
---|---|---|
committer | Andrey Loskutov | 2018-02-11 13:29:13 +0000 |
commit | a905b4943d4aaad994dde6bcc2d2c28b0b075b15 (patch) | |
tree | f22cf5ea3f5fd255fffe74db5784ab25c571a00b | |
parent | ae71913b56fde46604813308c2890fe0cbb305fa (diff) | |
download | eclipse.platform.ui-a905b4943d4aaad994dde6bcc2d2c28b0b075b15.tar.gz eclipse.platform.ui-a905b4943d4aaad994dde6bcc2d2c28b0b075b15.tar.xz eclipse.platform.ui-a905b4943d4aaad994dde6bcc2d2c28b0b075b15.zip |
Bug 371586 - fixed sort by marker id
Same as with creation time, downcasting long values (outside of the
integer values range) to integers may lead to unexpected value sign,
breaking comparison transitivity.
Change-Id: I0ba4eda906556a8f7e79189958cdb8c6eabde16f
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r-- | bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerIDField.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerIDField.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerIDField.java index 83118125d79..0d227e45a5f 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerIDField.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerIDField.java @@ -23,14 +23,23 @@ public class MarkerIDField extends MarkerField { @Override public String getValue(MarkerItem item) { - if (item.getMarker() != null) + if (item.getMarker() != null) { return String.valueOf(((MarkerSupportItem) item).getID()); + } return MarkerSupportInternalUtilities.EMPTY_STRING; } @Override public int compare(MarkerItem item1, MarkerItem item2) { - return (int) (((MarkerSupportItem)item1).getID() - ((MarkerSupportItem) item2).getID()); + long id1 = ((MarkerSupportItem) item1).getID(); + long id2 = ((MarkerSupportItem) item2).getID(); + if (id1 < id2) { + return -1; + } + if (id1 > id2) { + return 1; + } + return 0; } } |