equal
deleted
inserted
replaced
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 } |