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

Reply via email to