summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java b/platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java
index 402d88cef38a..92eed9582fd2 100644
--- a/platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java
+++ b/platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/LinkMouseListenerBase.java
@@ -27,18 +27,24 @@ import java.awt.event.MouseMotionListener;
public abstract class LinkMouseListenerBase<T> extends ClickListener implements MouseMotionListener {
public static void installSingleTagOn(@NotNull SimpleColoredComponent component) {
- new LinkMouseListenerBase<Consumer<MouseEvent>>() {
+ new LinkMouseListenerBase<Object>() {
@Nullable
@Override
- protected Consumer<MouseEvent> getTagAt(@NotNull MouseEvent e) {
+ protected Object getTagAt(@NotNull MouseEvent e) {
//noinspection unchecked
- return (Consumer<MouseEvent>)((SimpleColoredComponent)e.getSource()).getFragmentTagAt(e.getX());
+ return ((SimpleColoredComponent)e.getSource()).getFragmentTagAt(e.getX());
}
@Override
- protected void handleTagClick(@Nullable Consumer<MouseEvent> tag, @NotNull MouseEvent event) {
+ protected void handleTagClick(@Nullable Object tag, @NotNull MouseEvent event) {
if (tag != null) {
- tag.consume(event);
+ if (tag instanceof Consumer) {
+ //noinspection unchecked
+ ((Consumer<MouseEvent>)tag).consume(event);
+ }
+ else {
+ ((Runnable)tag).run();
+ }
}
}
}.installOn(component);