jdk/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java
changeset 120 98296a9fc072
parent 2 90ce3da70b43
child 439 3488710b02f8
equal deleted inserted replaced
119:c4ce9d68f58e 120:98296a9fc072
    72                                             0, 0);
    72                                             0, 0);
    73             } finally {
    73             } finally {
    74                 XToolkit.awtUnlock();
    74                 XToolkit.awtUnlock();
    75             }
    75             }
    76         }
    76         }
    77         notifyReady();
       
    78     }
    77     }
    79 
    78 
    80     void handleClientMessage(XEvent xev) {
    79     void handleClientMessage(XEvent xev) {
    81         XClientMessageEvent msg = xev.get_xclient();
    80         XClientMessageEvent msg = xev.get_xclient();
    82         if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine(msg.toString());
    81         if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine(msg.toString());
    83         if (msg.get_message_type() == XEmbed.getAtom()) {
    82         if (msg.get_message_type() == XEmbed.getAtom()) {
    84             if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Embedded message: " + msgidToString((int)msg.get_data(1)));
    83             if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Embedded message: " + msgidToString((int)msg.get_data(1)));
    85             switch ((int)msg.get_data(1)) {
    84             switch ((int)msg.get_data(1)) {
    86               case XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start
    85               case XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start
    87                   // NOTE: May be called two times because we send _SUN_XEMBED_START
       
    88                   active = true;
    86                   active = true;
    89                   server = getEmbedder(embedded, msg);
    87                   server = getEmbedder(embedded, msg);
    90                   // Check if window is reparented. If not - it was created with
    88                   // Check if window is reparented. If not - it was created with
    91                   // parent and so we should update it here.
    89                   // parent and so we should update it here.
    92                   if (!embedded.isReparented()) {
    90                   if (!embedded.isReparented()) {
   221     }
   219     }
   222 
   220 
   223     long getX11Mods(AWTKeyStroke stroke) {
   221     long getX11Mods(AWTKeyStroke stroke) {
   224         return XWindow.getXModifiers(stroke);
   222         return XWindow.getXModifiers(stroke);
   225     }
   223     }
   226 
       
   227     void notifyReady() {
       
   228         long wnd = server;
       
   229         if (wnd == 0) {
       
   230             // Server is still 0, get the parent
       
   231             wnd = embedded.getParentWindowHandle();
       
   232         }
       
   233         sendMessage(wnd, _SUN_XEMBED_START);
       
   234     }
       
   235 }
   224 }