Weak referencing needResetXICClient field for memory leak test correction leaks
authorcyhelsky@netbeans.org
Mon, 12 Mar 2012 18:47:29 +0100
branchleaks
changeset 5225f5d9ebd91b86
parent 5224 8637467d77c4
child 5226 0d91c0d45220
Weak referencing needResetXICClient field for memory leak test correction
src/solaris/classes/sun/awt/X11InputMethod.java
     1.1 --- a/src/solaris/classes/sun/awt/X11InputMethod.java	Mon Mar 12 18:38:03 2012 +0100
     1.2 +++ b/src/solaris/classes/sun/awt/X11InputMethod.java	Mon Mar 12 18:47:29 2012 +0100
     1.3 @@ -57,6 +57,8 @@
     1.4  import java.io.FileReader;
     1.5  import java.io.BufferedReader;
     1.6  import java.io.IOException;
     1.7 +import java.lang.ref.Reference;
     1.8 +import java.lang.ref.WeakReference;
     1.9  import sun.util.logging.PlatformLogger;
    1.10  import java.util.StringTokenizer;
    1.11  import java.util.regex.Pattern;
    1.12 @@ -272,7 +274,7 @@
    1.13             called on the passive client when endComposition is called.
    1.14          */
    1.15          if (needResetXIC && haveActiveClient() &&
    1.16 -            getClientComponent() != needResetXICClient){
    1.17 +            getClientComponent() != needResetXICClient.get()){
    1.18              resetXIC();
    1.19  
    1.20              // needs to reset the last xic focussed component.
    1.21 @@ -873,7 +875,7 @@
    1.22          boolean active = haveActiveClient();
    1.23          if (active && composedText == null && committedText == null){
    1.24              needResetXIC = true;
    1.25 -            needResetXICClient = getClientComponent();
    1.26 +            needResetXICClient = new WeakReference<Component>(getClientComponent());
    1.27              return;
    1.28          }
    1.29