182 protected void processDropMessage(SunDropTargetEvent event) {
183 if (!processSunDropTargetEvent(event)) {
184 super.processDropMessage(event);
185 }
186 }
187
188 // If source is an XEmbedCanvasPeer, passes the event to it for processing and
189 // return true if the event is forwarded to the XEmbed child.
190 // Otherwise, does nothing and return false.
191 private boolean processSunDropTargetEvent(SunDropTargetEvent event) {
192 Object source = event.getSource();
193
194 if (source instanceof Component) {
195 ComponentPeer peer = ((Component)source).getPeer();
196 if (peer instanceof XEmbedCanvasPeer) {
197 XEmbedCanvasPeer xEmbedCanvasPeer = (XEmbedCanvasPeer)peer;
198 /* The native context is the pointer to the XClientMessageEvent
199 structure. */
200 long ctxt = getNativeDragContext();
201
202 if (logger.isLoggable(PlatformLogger.FINER)) {
203 logger.finer(" processing " + event + " ctxt=" + ctxt +
204 " consumed=" + event.isConsumed());
205 }
206 /* If the event is not consumed, pass it to the
207 XEmbedCanvasPeer for processing. */
208 if (!event.isConsumed()) {
209 // NOTE: ctxt can be zero at this point.
210 if (xEmbedCanvasPeer.processXEmbedDnDEvent(ctxt,
211 event.getID())) {
212 event.consume();
213 return true;
214 }
215 }
216 }
217 }
218
219 return false;
220 }
221
222 public void forwardEventToEmbedded(long embedded, long ctxt,
|
182 protected void processDropMessage(SunDropTargetEvent event) {
183 if (!processSunDropTargetEvent(event)) {
184 super.processDropMessage(event);
185 }
186 }
187
188 // If source is an XEmbedCanvasPeer, passes the event to it for processing and
189 // return true if the event is forwarded to the XEmbed child.
190 // Otherwise, does nothing and return false.
191 private boolean processSunDropTargetEvent(SunDropTargetEvent event) {
192 Object source = event.getSource();
193
194 if (source instanceof Component) {
195 ComponentPeer peer = ((Component)source).getPeer();
196 if (peer instanceof XEmbedCanvasPeer) {
197 XEmbedCanvasPeer xEmbedCanvasPeer = (XEmbedCanvasPeer)peer;
198 /* The native context is the pointer to the XClientMessageEvent
199 structure. */
200 long ctxt = getNativeDragContext();
201
202 if (logger.isLoggable(PlatformLogger.Level.FINER)) {
203 logger.finer(" processing " + event + " ctxt=" + ctxt +
204 " consumed=" + event.isConsumed());
205 }
206 /* If the event is not consumed, pass it to the
207 XEmbedCanvasPeer for processing. */
208 if (!event.isConsumed()) {
209 // NOTE: ctxt can be zero at this point.
210 if (xEmbedCanvasPeer.processXEmbedDnDEvent(ctxt,
211 event.getID())) {
212 event.consume();
213 return true;
214 }
215 }
216 }
217 }
218
219 return false;
220 }
221
222 public void forwardEventToEmbedded(long embedded, long ctxt,
|