< prev index next >

src/solaris/classes/sun/awt/X11/XEmbedHelper.java

Print this page
rev 1569 : 5099725: AWT doesn't seem to handle MappingNotify events under X11.
5036807: Pressing action keys "STOP/AGAIN/COMPOSE" generates keycode of F11/F12 keys.
4787377: VK_STOP key on Solaris generates wrong Key Code
Summary: Added an event processing lumped with similar native code for similar bugs.
Reviewed-by: art
rev 1571 : 8010297: Missing isLoggable() checks in logging code
Summary: Add isLoggable() checks
Reviewed-by: anthony, mchung, serb
Contributed-by: Laurent Bourges <bourges.laurent@gmail.com>

@@ -80,15 +80,19 @@
     static XAtom XEmbed;
 
     XEmbedHelper() {
         if (XEmbed == null) {
             XEmbed = XAtom.get("_XEMBED");
-            if (xembedLog.isLoggable(Level.FINER)) xembedLog.finer("Created atom " + XEmbed.toString());
+            if (xembedLog.isLoggable(Level.FINER)) {
+                xembedLog.finer("Created atom " + XEmbed.toString());
+            }
         }
         if (XEmbedInfo == null) {
             XEmbedInfo = XAtom.get("_XEMBED_INFO");
-            if (xembedLog.isLoggable(Level.FINER)) xembedLog.finer("Created atom " + XEmbedInfo.toString());
+            if (xembedLog.isLoggable(Level.FINER)) {
+                xembedLog.finer("Created atom " + XEmbedInfo.toString());
+            }
         }
     }
 
     void sendMessage(long window, int message) {
         sendMessage(window, message, 0, 0, 0);

@@ -104,11 +108,13 @@
         msg.set_data(2, detail);
         msg.set_data(3, data1);
         msg.set_data(4, data2);
         XToolkit.awtLock();
         try {
-            if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Sending " + XEmbedMessageToString(msg));
+            if (xembedLog.isLoggable(Level.FINE)) {
+                xembedLog.fine("Sending " + XEmbedMessageToString(msg));
+            }
             XlibWrapper.XSendEvent(XToolkit.getDisplay(), window, false, XlibWrapper.NoEventMask, msg.pData);
         }
         finally {
             XToolkit.awtUnlock();
         }

@@ -216,11 +222,16 @@
 
         int keycode;
 
         XToolkit.awtLock();
         try {
-            keycode = XWindow.getAWTKeyCodeForKeySym((int)keysym);
+            XKeysym.Keysym2JavaKeycode kc = XKeysym.getJavaKeycode( keysym );
+            if(kc == null) {
+                keycode = java.awt.event.KeyEvent.VK_UNDEFINED;
+            }else{
+                keycode = kc.getJavaKeycode();
+            }
         } finally {
             XToolkit.awtUnlock();
         }
 
         int modifiers = getModifiers((int)state);
< prev index next >