ExecutionException often wraps some other one, so that the exact
exception implementing HyperlinkListener might be buried somewhere in
the exception chain fo the supplied one. This change allows a wrapped
exception still perform as a NotificationListener.
import com.intellij.ui.ColorUtil;
import com.intellij.ui.LayeredIcon;
import com.intellij.ui.content.Content;
import com.intellij.ui.ColorUtil;
import com.intellij.ui.LayeredIcon;
import com.intellij.ui.content.Content;
+import com.intellij.util.ExceptionUtil;
import com.intellij.util.ui.GraphicsUtil;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.GraphicsUtil;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.UIUtil;
LOG.error(fullMessage, e);
}
LOG.error(fullMessage, e);
}
- if (listener == null && e instanceof HyperlinkListener) {
- listener = (HyperlinkListener)e;
+ if (listener == null) {
+ listener = ExceptionUtil.findCause(e, HyperlinkListener.class);
}
final HyperlinkListener finalListener = listener;
}
final HyperlinkListener finalListener = listener;