This is an automated email from the git hooks/post-receive script. ben pushed a commit to branch master in repository autocomplete.
commit 4cfb94d81f03592bb53c5ed6102c2c39727d6076 Author: bobbylight <[email protected]> Date: Wed Jun 2 12:49:24 2010 +0000 Java language support Javadoc fixes - overloaded methods with the same number of parameters, handling trailing "*/" on Javadoc line with text on it, better bold-ening of parameters and formatting of the parameters section. Java language support - Type names of parameters in completion choices are no longer fully qualified. --- .../ui/autocomplete/AutoCompletePopupWindow.java | 30 ++++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java index 4150edb..13a4a5c 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java +++ b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java @@ -650,7 +650,9 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, * @param visible Whether this window should be visible. */ public void setVisible(boolean visible) { + if (visible!=isVisible()) { + if (visible) { installKeyBindings(); lastLine = ac.getLineOfCaret(); @@ -658,22 +660,44 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, if (descWindow==null && ac.getShowDescWindow()) { descWindow = createDescriptionWindow(); positionDescWindow(); - // descWindow needs a kick-start the first time it's - // displayed. + } + // descWindow needs a kick-start the first time it's displayed. + // Also, the newly-selected item in the choices list is + // probably different from the previous one anyway. + if (descWindow!=null) { Completion c = (Completion)list.getSelectedValue(); - descWindow.setDescriptionFor(c); + if (c!=null) { + descWindow.setDescriptionFor(c); + } } } else { uninstallKeyBindings(); } + super.setVisible(visible); + + // Some languages, such as Java, can use quite a lot of memory + // when displaying hundreds of completion choices. We pro-actively + // clear our list model here to make them available for GC. + // Otherwise, they stick around, and consider the following: a + // user starts code-completion for Java 5 SDK classes, then hides + // the dialog, then changes the "class path" to use a Java 6 SDK + // instead. On pressing Ctrl+space, a new array of Completions is + // created. If this window holds on to the previous Completions, + // you're getting roughly 2x the necessary Completions in memory + // until the Completions are actually passed to this window. + if (!visible) { // Do after super.setVisible(false) + model.clear(); + } + // Must set descWindow's visibility one way or the other each time, // because of the way child JWindows' visibility is handled - in // some ways it's dependent on the parent, in other ways it's not. if (descWindow!=null) { descWindow.setVisible(visible && ac.getShowDescWindow()); } + } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

