src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -38,10 +38,13 @@
 import java.lang.Character.UnicodeBlock;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
+
+import sun.awt.AWTAccessor;
+import sun.awt.AWTAccessor.ComponentAccessor;
 import sun.awt.im.InputMethodAdapter;
 
 final class WInputMethod extends InputMethodAdapter
 {
     /**

@@ -604,22 +607,21 @@
                            new InvocationEvent(source, r));
     }
 
     // java.awt.Toolkit#getNativeContainer() is not available
     //  from this package
-    @SuppressWarnings("deprecation")
     private WComponentPeer getNearestNativePeer(Component comp)
     {
         if (comp==null)     return null;
-
-        ComponentPeer peer = comp.getPeer();
+        final ComponentAccessor acc = AWTAccessor.getComponentAccessor();
+        ComponentPeer peer = acc.getPeer(comp);
         if (peer==null)     return null;
 
         while (peer instanceof java.awt.peer.LightweightPeer) {
             comp = comp.getParent();
             if (comp==null) return null;
-            peer = comp.getPeer();
+            peer = acc.getPeer(comp);
             if (peer==null) return null;
         }
 
         if (peer instanceof WComponentPeer)
             return (WComponentPeer)peer;