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

Print this page

        

*** 121,131 **** boolean isApplicationActive() { return applicationActive; } void initDispatching() { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Init embedding for " + Long.toHexString(xembed.handle)); XToolkit.awtLock(); try { XToolkit.addEventDispatcher(xembed.handle, xembed); XlibWrapper.XSelectInput(XToolkit.getDisplay(), xembed.handle, XConstants.StructureNotifyMask | XConstants.PropertyChangeMask); --- 121,133 ---- boolean isApplicationActive() { return applicationActive; } void initDispatching() { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Init embedding for " + Long.toHexString(xembed.handle)); ! } XToolkit.awtLock(); try { XToolkit.addEventDispatcher(xembed.handle, xembed); XlibWrapper.XSelectInput(XToolkit.getDisplay(), xembed.handle, XConstants.StructureNotifyMask | XConstants.PropertyChangeMask);
*** 138,148 **** --- 140,152 ---- notifyChildEmbedded(); } void endDispatching() { + if (xembedLog.isLoggable(PlatformLogger.FINE)) { xembedLog.fine("End dispatching for " + Long.toHexString(xembed.handle)); + } XToolkit.awtLock(); try { XDropTargetRegistry.getRegistry().unregisterXEmbedClient(getWindow(), xembed.handle); // We can't deselect input since someone else might be interested in it XToolkit.removeEventDispatcher(xembed.handle, xembed);
*** 158,168 **** --- 162,174 ---- xembed.handle = child; initDispatching(); } void childDestroyed() { + if (xembedLog.isLoggable(PlatformLogger.FINE)) { xembedLog.fine("Child " + Long.toHexString(xembed.handle) + " has self-destroyed."); + } endDispatching(); xembed.handle = 0; } public void handleEvent(AWTEvent e) {
*** 380,390 **** } } } void detachChild() { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Detaching child " + Long.toHexString(xembed.handle)); /** * XEmbed specification: * "The embedder can unmap the client and reparent the client window to the root window. If the * client receives an ReparentNotify event, it should check the parent field of the XReparentEvent * structure. If this is the root window of the window's screen, then the protocol is finished and --- 386,398 ---- } } } void detachChild() { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Detaching child " + Long.toHexString(xembed.handle)); ! } /** * XEmbed specification: * "The embedder can unmap the client and reparent the client window to the root window. If the * client receives an ReparentNotify event, it should check the parent field of the XReparentEvent * structure. If this is the root window of the window's screen, then the protocol is finished and
*** 461,471 **** return; } try { XKeyEvent ke = new XKeyEvent(data); ke.set_window(xembed.handle); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Forwarding native key event: " + ke); XToolkit.awtLock(); try { XlibWrapper.XSendEvent(XToolkit.getDisplay(), xembed.handle, false, XConstants.NoEventMask, data); } finally { XToolkit.awtUnlock(); --- 469,481 ---- return; } try { XKeyEvent ke = new XKeyEvent(data); ke.set_window(xembed.handle); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Forwarding native key event: " + ke); ! } XToolkit.awtLock(); try { XlibWrapper.XSendEvent(XToolkit.getDisplay(), xembed.handle, false, XConstants.NoEventMask, data); } finally { XToolkit.awtUnlock();
*** 492,502 **** */ void grabKey(final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { GrabbedKey grab = new GrabbedKey(keysym, modifiers); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Grabbing key: " + grab); synchronized(GRAB_LOCK) { grabbed_keys.add(grab); } } })); --- 502,514 ---- */ void grabKey(final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { GrabbedKey grab = new GrabbedKey(keysym, modifiers); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Grabbing key: " + grab); ! } synchronized(GRAB_LOCK) { grabbed_keys.add(grab); } } }));
*** 504,514 **** void ungrabKey(final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { GrabbedKey grab = new GrabbedKey(keysym, modifiers); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("UnGrabbing key: " + grab); synchronized(GRAB_LOCK) { grabbed_keys.remove(grab); } } })); --- 516,528 ---- void ungrabKey(final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { GrabbedKey grab = new GrabbedKey(keysym, modifiers); ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("UnGrabbing key: " + grab); ! } synchronized(GRAB_LOCK) { grabbed_keys.remove(grab); } } }));
*** 517,527 **** void registerAccelerator(final long accel_id, final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { AWTKeyStroke stroke = xembed.getKeyStrokeForKeySym(keysym, modifiers); if (stroke != null) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Registering accelerator " + accel_id + " for " + stroke); synchronized(ACCEL_LOCK) { accelerators.put(accel_id, stroke); accel_lookup.put(stroke, accel_id); } } --- 531,543 ---- void registerAccelerator(final long accel_id, final long keysym, final long modifiers) { postEvent(new InvocationEvent(target, new Runnable() { public void run() { AWTKeyStroke stroke = xembed.getKeyStrokeForKeySym(keysym, modifiers); if (stroke != null) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Registering accelerator " + accel_id + " for " + stroke); ! } synchronized(ACCEL_LOCK) { accelerators.put(accel_id, stroke); accel_lookup.put(stroke, accel_id); } }
*** 535,545 **** public void run() { AWTKeyStroke stroke = null; synchronized(ACCEL_LOCK) { stroke = accelerators.get(accel_id); if (stroke != null) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Unregistering accelerator: " + accel_id); accelerators.remove(accel_id); accel_lookup.remove(stroke); // FIXME: How about several accelerators with the same stroke? } } propogateUnRegisterAccelerator(stroke); --- 551,563 ---- public void run() { AWTKeyStroke stroke = null; synchronized(ACCEL_LOCK) { stroke = accelerators.get(accel_id); if (stroke != null) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Unregistering accelerator: " + accel_id); ! } accelerators.remove(accel_id); accel_lookup.remove(stroke); // FIXME: How about several accelerators with the same stroke? } } propogateUnRegisterAccelerator(stroke);
*** 581,591 **** return false; } boolean result = false; ! if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Post-processing event " + e); // Process ACCELERATORS AWTKeyStroke stroke = AWTKeyStroke.getAWTKeyStrokeForEvent(e); long accel_id = 0; boolean exists = false; --- 599,611 ---- return false; } boolean result = false; ! if (xembedLog.isLoggable(PlatformLogger.FINER)) { ! xembedLog.finer("Post-processing event " + e); ! } // Process ACCELERATORS AWTKeyStroke stroke = AWTKeyStroke.getAWTKeyStrokeForEvent(e); long accel_id = 0; boolean exists = false;
*** 594,604 **** if (exists) { accel_id = accel_lookup.get(stroke).longValue(); } } if (exists) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Activating accelerator " + accel_id); xembed.sendMessage(xembed.handle, XEMBED_ACTIVATE_ACCELERATOR, accel_id, 0, 0); // FIXME: How about overloaded? result = true; } // Process Grabs, unofficial GTK feature --- 614,626 ---- if (exists) { accel_id = accel_lookup.get(stroke).longValue(); } } if (exists) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Activating accelerator " + accel_id); ! } xembed.sendMessage(xembed.handle, XEMBED_ACTIVATE_ACCELERATOR, accel_id, 0, 0); // FIXME: How about overloaded? result = true; } // Process Grabs, unofficial GTK feature
*** 606,616 **** GrabbedKey key = new GrabbedKey(e); synchronized(GRAB_LOCK) { exists = grabbed_keys.contains(key); } if (exists) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Forwarding grabbed key " + e); forwardKeyEvent(e); result = true; } return result; --- 628,640 ---- GrabbedKey key = new GrabbedKey(e); synchronized(GRAB_LOCK) { exists = grabbed_keys.contains(key); } if (exists) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Forwarding grabbed key " + e); ! } forwardKeyEvent(e); result = true; } return result;
*** 625,637 **** } public void handleClientMessage(XEvent xev) { super.handleClientMessage(xev); XClientMessageEvent msg = xev.get_xclient(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Client message to embedder: " + msg); if (msg.get_message_type() == xembed.XEmbed.getAtom()) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine(xembed.XEmbedMessageToString(msg)); } if (isXEmbedActive()) { switch ((int)msg.get_data(1)) { case XEMBED_REQUEST_FOCUS: requestXEmbedFocus(); --- 649,665 ---- } public void handleClientMessage(XEvent xev) { super.handleClientMessage(xev); XClientMessageEvent msg = xev.get_xclient(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) { ! xembedLog.finer("Client message to embedder: " + msg); ! } if (msg.get_message_type() == xembed.XEmbed.getAtom()) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine(xembed.XEmbedMessageToString(msg)); ! } } if (isXEmbedActive()) { switch ((int)msg.get_data(1)) { case XEMBED_REQUEST_FOCUS: requestXEmbedFocus();
*** 728,739 **** version = Native.getCard32(xembed_info_data, 0); flags = Native.getCard32(xembed_info_data, 1); boolean new_mapped = (flags & XEMBED_MAPPED) != 0; boolean currently_mapped = XlibUtil.getWindowMapState(handle) != XConstants.IsUnmapped; if (new_mapped != currently_mapped) { ! if (xembedLog.isLoggable(PlatformLogger.FINER)) ! xembedLog.fine("Mapping state of the client has changed, old state: " + currently_mapped + ", new state: " + new_mapped); if (new_mapped) { XToolkit.awtLock(); try { XlibWrapper.XMapWindow(XToolkit.getDisplay(), handle); } finally { --- 756,768 ---- version = Native.getCard32(xembed_info_data, 0); flags = Native.getCard32(xembed_info_data, 1); boolean new_mapped = (flags & XEMBED_MAPPED) != 0; boolean currently_mapped = XlibUtil.getWindowMapState(handle) != XConstants.IsUnmapped; if (new_mapped != currently_mapped) { ! if (xembedLog.isLoggable(PlatformLogger.FINER)) { ! xembedLog.finer("Mapping state of the client has changed, old state: " + currently_mapped + ", new state: " + new_mapped); ! } if (new_mapped) { XToolkit.awtLock(); try { XlibWrapper.XMapWindow(XToolkit.getDisplay(), handle); } finally {
*** 746,767 **** } finally { XToolkit.awtUnlock(); } } } else { xembedLog.finer("Mapping state didn't change, mapped: " + currently_mapped); } return true; } finally { XlibWrapper.unsafe.freeMemory(xembed_info_data); } } public void handlePropertyNotify(XEvent xev) { if (isXEmbedActive()) { XPropertyEvent ev = xev.get_xproperty(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Property change on client: " + ev); if (ev.get_atom() == XAtom.XA_WM_NORMAL_HINTS) { childResized(); } else if (ev.get_atom() == XEmbedInfo.getAtom()) { processXEmbedInfo(); } else if (ev.get_atom() == --- 775,800 ---- } finally { XToolkit.awtUnlock(); } } } else { + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Mapping state didn't change, mapped: " + currently_mapped); } + } return true; } finally { XlibWrapper.unsafe.freeMemory(xembed_info_data); } } public void handlePropertyNotify(XEvent xev) { if (isXEmbedActive()) { XPropertyEvent ev = xev.get_xproperty(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) { ! xembedLog.finer("Property change on client: " + ev); ! } if (ev.get_atom() == XAtom.XA_WM_NORMAL_HINTS) { childResized(); } else if (ev.get_atom() == XEmbedInfo.getAtom()) { processXEmbedInfo(); } else if (ev.get_atom() ==
*** 778,788 **** } } void handleConfigureNotify(XEvent xev) { if (isXEmbedActive()) { XConfigureEvent ev = xev.get_xconfigure(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Bounds change on client: " + ev); if (xev.get_xany().get_window() == handle) { childResized(); } } } --- 811,823 ---- } } void handleConfigureNotify(XEvent xev) { if (isXEmbedActive()) { XConfigureEvent ev = xev.get_xconfigure(); ! if (xembedLog.isLoggable(PlatformLogger.FINER)) { ! xembedLog.finer("Bounds change on client: " + ev); ! } if (xev.get_xany().get_window() == handle) { childResized(); } } }
*** 829,839 **** } XKeyEvent ke = new XKeyEvent(data); // We recognize only these masks modifiers = ke.get_state() & (XConstants.ShiftMask | XConstants.ControlMask | XConstants.LockMask); ! if (xembedLog.isLoggable(PlatformLogger.FINEST)) xembedLog.finest("Mapped " + e + " to " + this); } finally { XlibWrapper.unsafe.freeMemory(data); } } --- 864,876 ---- } XKeyEvent ke = new XKeyEvent(data); // We recognize only these masks modifiers = ke.get_state() & (XConstants.ShiftMask | XConstants.ControlMask | XConstants.LockMask); ! if (xembedLog.isLoggable(PlatformLogger.FINEST)) { ! xembedLog.finest("Mapped " + e + " to " + this); ! } } finally { XlibWrapper.unsafe.freeMemory(data); } }