From 836e213bb5db2974ae7d37a851c100aecc51fb18 Mon Sep 17 00:00:00 2001 From: tmoore Date: Fri, 24 Apr 2026 14:49:26 -0400 Subject: [PATCH] Fix problem of ExternalURLHandler blocking selection of completion names. Previously, the ExternalURLHandler would be invoked even if no URL was present in the HyperLinkEvent. This would result in local names not being processed. --- .../autocomplete/AutoCompleteDescWindow.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/AutoComplete/src/main/java/org/fife/ui/autocomplete/AutoCompleteDescWindow.java b/AutoComplete/src/main/java/org/fife/ui/autocomplete/AutoCompleteDescWindow.java index 620a213..50d0295 100644 --- a/AutoComplete/src/main/java/org/fife/ui/autocomplete/AutoCompleteDescWindow.java +++ b/AutoComplete/src/main/java/org/fife/ui/autocomplete/AutoCompleteDescWindow.java @@ -346,24 +346,22 @@ public void hyperlinkUpdate(HyperlinkEvent e) { newUrl, e.getDescription(), e.getSourceElement()); } } - } - // Custom hyperlink handler for this completion type - ExternalURLHandler handler = ac.getExternalURLHandler(); - if (handler!=null) { - HistoryEntry current = history.get(historyPos); - handler.urlClicked(e, current.completion, this); - return; - } - - // No custom handler... - if (url!=null) { + // Custom hyperlink handler for this completion type + ExternalURLHandler handler = ac.getExternalURLHandler(); + if (handler!=null) { + HistoryEntry current = history.get(historyPos); + handler.urlClicked(e, current.completion, this); + } + else { + // No custom handler... // Try loading in external browser (Java 6+ only). - try { - Util.browse(new URI(url.toString())); - } catch (/*IO*/URISyntaxException ioe) { - UIManager.getLookAndFeel().provideErrorFeedback(descArea); - ioe.printStackTrace(); + try { + Util.browse(new URI(url.toString())); + } catch (/*IO*/URISyntaxException ioe) { + UIManager.getLookAndFeel().provideErrorFeedback(descArea); + ioe.printStackTrace(); + } } } else { // Assume simple function name text, like in c.xml